我是java和整体编程的新手。最近,我已经开始了IA模拟程序,但我认为我的else-if
部分代码没有显示在终端中。但是,if
和else
语句似乎完美无缺
我很感激您提供的任何帮助
抱歉,我的英语乏善可陈,而且我的语言不准确。
import java.util.Scanner;
public class IA
{
public static void main(String []args){
Scanner lector= new Scanner(System.in);
System.out.println("Di algo");
String input = lector.next();
if (input.equals ("Hola") || input.equals("hola") || input.equals("ola")){
System.out.println("Hola, humano");
}else if (input==("quien eres")){
System.out.println("Una pobre ilusión de inteligencia artificial");
}else{
System.out.println("Adiós");
}
}
}
答案 0 :(得分:2)
您缺少的是不检查输入值。首先检查输入值......:
System.out.println(input);
...并查看该值是否正常。然后你可以说你的" if-else
"组件是否正常工作。
同时删除@ input.equals ("Hola")
的差距。它必须是input.equals("Hola")
补充:您不能将==
运算符用于Java中的字符串。您可以使用var.equals("something")
检查变量var
是否等于"something"
。
添加2:您必须使用scanner.nextLine()
完全获取键入的字符串,而不是使用scanner.next()
,因为next()
会获得下一个字段。
答案 1 :(得分:2)
如果您希望拾取包含空格的标记,则需要更改扫描程序的分隔符。由于默认分隔符是空格,如果遇到quien eres
,next()
将为quien
。