为了账号安全,请及时绑定邮箱和手机立即绑定

为什么输入“女”之后会在男子组决赛

 int score = a.nextInt();

   String  sex = a.next();;

   if(score>=80)

{

if(sex=="女")

{

System.out.println("参加女子决赛");

}

else

{

System.out.println("参加男子决赛");

}

}

else

{

System.out.println("未能参加决赛");

}


正在回答

7 回答

我没调试,应该是字符串类型的比较应该用.equles();也就是sex.equles("女");你试试

0 回复 有任何疑惑可以回复我~

重开程序运行第一次可以,后面就不行了,识别成:女女nünü女

0 回复 有任何疑惑可以回复我~

刚刚我的jdk出问题了,重新安装了,就好了。。当然字符串用equals

0 回复 有任何疑惑可以回复我~

在编程中,通常比较两个字符串是否相同的表达式是“==”,但在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("未能参加决赛");
    }
}


2 回复 有任何疑惑可以回复我~

应该是汉字识别的问题啊。。

0 回复 有任何疑惑可以回复我~

输入女,识别的女女nvnv女


0 回复 有任何疑惑可以回复我~

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();

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么输入“女”之后会在男子组决赛

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信