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

学号出现重复 但是不被识别 依然收录

学号出现重复 但是不被识别 依然收录

C
慕丝9287860 2017-10-26 22:56:20
for (int i = 0; i < a.length; i++) {     System.out.println("输入你要增加学员的学号:");     int xh = input.nextInt();     boolean f = false;     if (xh > 000 && xh < 100) {      for (int j = 0; j < a.length; j++) {       if (xh!=a[i].getId()) {        f = true;        System.out.println("hah ");        break;       }      }      if (f = true) {       a[i].setId(xh);       System.out.println("恭喜你,学员学号录入成功");       break;      } else {       a[i].setId(xh);       System.out.println("抱歉,学号已存在");       break;      }     } else {      System.out.println("学号是这样滴?");     }    }
查看完整描述

1 回答

已采纳
?
习惯受伤

TA贡献885条经验 获得超1144个赞

有好几处逻辑错误,第一段:
boolean f = false;
     if (xh > 000 && xh < 100) {
      for (int j = 0; j < a.length; j++) {
       if (xh!=a[i].getId()) {
        f = true;
        System.out.println("hah ");
        break;
       }
      }
这里你的本意是判断是否有重复对吧?那应该是这样的:
boolean f = false;
     if (xh > 000 && xh < 100) {
      for (int j = 0; j < a.length; j++) {
       if (xh==a[i].getId()) {  //这里,只有相等了才会标记为true。
        f = true;
        System.out.println("Exist! ");
        break;
       }
      }
第二个错误:
if(f=true)
应该为:
if(f)  或者写作  if(f==true)

查看完整回答
2 反对 回复 2017-10-27
  • 1 回答
  • 0 关注
  • 881 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信