int score = a.nextInt();
String sex = a.next();;
if(score>=80)
{
if(sex=="女")
{
System.out.println("参加女子决赛");
}
else
{
System.out.println("参加男子决赛");
}
}
else
{
System.out.println("未能参加决赛");
}
我没调试,应该是字符串类型的比较应该用.equles();也就是sex.equles("女");你试试
重开程序运行第一次可以,后面就不行了,识别成:女女nünü女
刚刚我的jdk出问题了,重新安装了,就好了。。当然字符串用equals
在编程中,通常比较两个字符串是否相同的表达式是“==”,但在java中不能这么写。在java中,用的是equals();
例:A字符串和B和字符串比较:
if(A.equals(B)){
}
返回true 或false.
String 的equals 方法用于比较两个字符串是否相等。由于字符串是对象类型,所以不能用简单的“==”判断。而使用equals比较两个对象的内容是否相等。
注意:
equals()比较的是对象的内容(区分字母的大小写格式),但是如果使用“==”比较两个对象时,比较的是两个对象的内存地址,所以不相等。即使它们内容相等,但是不同对象的内存地址也是不相同的。
public void testScan(){ Scanner a = new Scanner(System.in); System.out.println("***请输入成绩***"); int score = a.nextInt(); System.out.println("***请输入性别"); String sex = a.next(); if(score>=80){ if(sex.equals("女")){ System.out.println("参加女子决赛"); }else{ System.out.println("参加男子决赛"); } }else{ System.out.println("未能参加决赛"); } }
应该是汉字识别的问题啊。。
输入女,识别的女女nvnv女
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();
}