java中循环语句的问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 14:18:28
我需要用一个Java的while循环来实现一个程序,程序运行出来是这样的:
这个程序是用来判断最大年纪和最小年纪的人的信息。
请输入姓名: Tommy, G
请输入年龄: 17
请输入姓名: Don, G
Please enter an age: 42
请输入姓名: Cathy, G
请输入年龄: 11
请输入姓名: Tommy, T
请输入年龄: 19
请输入姓名: Elsa, T
请输入年龄: 35
请输入姓名: quit
最年轻的人是 Cathy, G (11).
最年长的人是 Don, G (42).

我觉得应该是用while循环做吧,然后再在循环里用if语句来判断年纪大小。可是我不知道如何做到先把年龄赋值给一个变量,然后再判断这个变量和随后的输入的年龄大小。
麻烦高人来指点下。谢谢!!
这个是我根据一楼的提示写的程序http://hi.baidu.com/vvccckkkdd/blog/item/9bf9180b39d4e3a52fddd461.html,可是我输入“quit”的时候循环并没有停止是什么原因呢~~,因为能输入字数有限,所以只能发在这里了。

多谢三楼的帮助!不过现在我输入“quit” 的时候他还是会让输入一次年龄才会退出循环然后才显示最年轻和最年长的人的信息,而不是直接退出循环并且显示最年轻和最年长的人的信息,这又是为什么啊~~

将你的while(name != "quit")
改成while (!name.equals("quit"))
就可以了
不过还要输入
年龄才可以结束
出现这个状况的原因很简单
就是因为
你在
while (!name.equals("quit")) {
System.out.print("Please enter a name: ");
name = keyboard.next();
System.out.print("Please enter an age: ");
age = keyboard.nextInt();
。。。。。。
}
在循环里面判断的是上一个name,也就是输入的第一个name
所以只有再次输入的时候将读入的值付给name,才能读入新的name
也才能在循环中进行判断
建议改成
while (!name.equals("quit")) {

System.out.print("Please enter a name: ");
name = keyboard.next();
if(!name.equals("quit")){
System.out.print("Please enter an age: ");
age = keyboard.nextInt();
if (age > max) {
max = age;
Oldestone = name;
} else {
min = age;
Youngestone = name;
}
}
}

补充回答: