这个问题在这里已经有答案了:
如何比较java中的字符串(23个答案)
两天前关门了。
用于用户输入的扫描仪,在为suncondition提供值时,很难进入if循环
@SuppressWarnings("resource")
Scanner temp = new Scanner(System.in);
int temperature;
System.out.print("Enter the temperature : ");
temperature=temp.nextInt();
@SuppressWarnings("resource")
Scanner suncon= new Scanner(System.in);
String suncondition;
System.out.print("Enter the Sun condition : ");
suncondition=suncon.nextLine();
if ((temperature==50) || (suncondition=="Sunny")){
System.out.println(" This is tooo hot");
}
2条答案
按热度按时间ds97pgxw1#
==如果它们引用的是内存中的同一个对象,则会进行比较,这里不是这种情况,因此将为false。
这里您可以使用equals方法,它基于字符串的数据/内容进行比较。
如果你想了解更多这是一个很好的文章
https://www.geeksforgeeks.org/java-equals-compareto-equalsignorecase-and-compare/#:~:text=in%20java%2c%20string%20equals(),matched%20then%20it%20returns%20false。
6ie5vjzr2#
使用
.equals()
比较字符串。只使用==
比较原语-比较类通常是比较引用。另外,如果可以的话,不需要创建两个scanner对象。