大家好,为什么这个Java代码无法正常工作(if语句总是被读为False,任何输入都会输出4,包括Anish&“Anish”)?
import java.util.Scanner;
public class lkjlj {
public static void main(String args []) {
Scanner Pillai = new Scanner(System.in);
System.out.println("Enter Your name");
String nabeel = Pillai.nextLine();
System.out.println(nabeel);
if (nabeel == "Anish") {
System.out.println("Your Age is 6");
} else {
System.out.println("Your age is 4");
}
}
}
答案 0 :(得分:11)
你应该使用.equals进行字符串比较,而不是==。
答案 1 :(得分:10)
使用此:nabeel.equals("Anish")
在Java中,String.equals
检查两个字符串是否具有相同的内容,而==
检查它们是否是相同的对象。
答案 2 :(得分:8)
使用
if(nabeel.equals("Anish"))
{
...
}
,因为 要比较字符串的相等性,请不要使用==。 ==运算符检查两个对象是否完全相同。两个字符串可以是不同的对象,但具有相同的值(在它们中具有完全相同的字符)。使用.equals()方法比较字符串是否相等。