為什么輸入“女”之后會在男子組決賽
?int score = a.nextInt();
? ?String ?sex = a.next();;
? ?if(score>=80)
{
if(sex=="女")
{
System.out.println("參加女子決賽");
}
else
{
System.out.println("參加男子決賽");
}
}
else
{
System.out.println("未能參加決賽");
}
?int score = a.nextInt();
? ?String ?sex = a.next();;
? ?if(score>=80)
{
if(sex=="女")
{
System.out.println("參加女子決賽");
}
else
{
System.out.println("參加男子決賽");
}
}
else
{
System.out.println("未能參加決賽");
}
2017-01-31
舉報
2017-01-31
我沒調(diào)試,應(yīng)該是字符串類型的比較應(yīng)該用.equles();也就是sex.equles("女");你試試
2017-01-31
重開程序運(yùn)行第一次可以,后面就不行了,識別成:女女nünü女
2017-01-31
剛剛我的jdk出問題了,重新安裝了,就好了。。當(dāng)然字符串用equals
2017-01-31
在編程中,通常比較兩個字符串是否相同的表達(dá)式是“==”,但在java中不能這么寫。在java中,用的是equals();
例:A字符串和B和字符串比較:
if(A.equals(B)){
}
返回true 或false.
String 的equals 方法用于比較兩個字符串是否相等。由于字符串是對象類型,所以不能用簡單的“==”判斷。而使用equals比較兩個對象的內(nèi)容是否相等。
注意:
equals()比較的是對象的內(nèi)容(區(qū)分字母的大小寫格式),但是如果使用“==”比較兩個對象時,比較的是兩個對象的內(nèi)存地址,所以不相等。即使它們內(nèi)容相等,但是不同對象的內(nèi)存地址也是不相同的。
2017-01-31
應(yīng)該是漢字識別的問題啊。。
2017-01-31
輸入女,識別的女女nvnv女
2017-01-31
public static void main(String[] args) {
Scanner a=new Scanner(System.in);
System.out.print("score:");
int score = a.nextInt();
System.out.print("sex:");
? String ?sex = a.next();
? if(score>=80)
{
? if(sex.equals("女"))?
{
System.out.println("參加女子決賽");
}
else
{
System.out.println("參加男子決賽");
}
}
else
{
System.out.println("未能參加決賽的"+sex+"生");
}
? a.close();
}