我想用不同的方法打印出Ascii的艺术图片。但是我的代码不起作用。这是:
String avatar = IBIO.inputString ("Now tell me. Are you a boy? Or are you a girl? ");
if (avatar == "boy" || avatar == "Boy" || avatar == "b" || avatar == "B")
{
System.out.print (Boy );
}
public void Boy ()
{
{
System.out.println (" /:''| ");
System.out.println (" |: 66|_ ");
System.out.println (" C _) ");
System.out.println (" \\ ._| ");
System.out.println (" ) / ");
System.out.println (" /`\\ ");
System.out.println (" || |Y| ");
System.out.println (" || |#| ");
System.out.println (" || |#| ");
System.out.println (" || |#| ");
System.out.println (" :| |=: ");
System.out.println (" ||_|,| ");
System.out.println (" \\)))|| ");
System.out.println ("|~~~`-`~~~| ");
System.out.println ("| | ");
System.out.println ("|_________| ");
System.out.println ("|_________| ");
System.out.println (" | || ");
System.out.println (" |_||__ ");
System.out.println (" (____)) ");
}
}
另外,如果用户输入女孩,我想制作另一种方法并打印出一个女孩ascii艺术图片。
答案 0 :(得分:1)
首先,您没有正确进行String
比较。您应该使用equals()
或equalsIgnoreCase()
而不是==
来比较字符串。
其次,您应该按如下方式调用Boy方法:Boy();
。无需将其括在System.out.print();
。
以下是更正后的代码段:
if ("boy".equalsIgnoreCase(avatar) || "b".equalsIgnoreCase(avatar)) {
Boy();
}
请注意,我在此使用equalsIgnoreCase()
而非equals()
,因此您无需对字符串进行比较,例如Boy
,BOY
或B
等。