有无 java 高手,在下 遇到一个问题
java吧
全部回复
仅看楼主
level 2
植珠0iR 楼主
关于 循环跳出
String n = "Y";
for(int i = 1; n == "Y" || n == "y"; i++) {
System.out.println("学号:");
int id = scanner.nextInt();
System.out.println("姓名:");
String name = scanner.next();
System.out.println("年龄:");
int age = scanner.nextInt();
System.out.println("班级:");
String classes = scanner.next();
System.out.println();
students.add(new Student(id, name, age, classes));
System.out.println("是非要继续输入: Y/N");
n = scanner.next();
}
这个 无论输入 Y 还是 N 都跳出,只执行一次,这怎么回事?
2014年04月10日 06点04分 1
level 11
第一个循环的判断用while(c=='y')比较好,这个for循还看的很蛋疼。。。
看逻辑现在没看出什么,会不会是多按了一个空格或者误输
2014年04月10日 06点04分 2
level 12
String 为什么用==来判断
2014年04月10日 06点04分 3
n == "Y"永远是false
2014年04月10日 06点04分
level 10
while(n == "Y" || n == "y") {
System.out.println("学号:");
int id = scanner.nextInt();
System.out.println("姓名:");
String name = scanner.next();
System.out.println("年龄:");
int age = scanner.nextInt();
System.out.println("班级:");
String classes = scanner.next();
System.out.println();
students.add(new Student(id, name, age, classes));
System.out.println("是非要继续输入: Y/N");
n = scanner.next();
}
2014年04月10日 06点04分 4
level 10
while(n .equals("Y") || n.equals("y"))
2014年04月10日 06点04分 5
谢谢,equals()方法一直会忘记,
2014年04月10日 07点04分
level 8
String是对象不是基础类型,要用equals不要用直等==
2014年04月10日 06点04分 6
哦。知道了,谢谢,一直会忘记[笑眼]
2014年04月10日 07点04分
level 7
又是字符串的比较问题[惊讶]
2014年04月10日 06点04分 7
谢谢
2014年04月10日 07点04分
level 10
循环次数与i无关的别用for了
用while(...)
还有就是楼上说了 String 不是基本数据类型
相等的话 必须是完全相等才行 :
n==n //true
n=="y" //false
要比较值要用equals
2014年04月10日 07点04分 8
ありがとう,受教了[真棒]
2014年04月10日 07点04分
level 5
学完string对象你就清楚了
2014年04月10日 10点04分 10
1