java循环输入的一个问题

mportjava.util.Comparator;importjava.util.Scanner;importjava.util.TreeSet;publicclass... mport java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;

public class test7 {
@SuppressWarnings({ "resource", "unused" })
public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);
TreeSet<students> tSet= new TreeSet<students>(new Comparator<students>() {

@Override
public int compare(students o1, students o2) {
int num = o1.score-o2.score;
return (int) (num==0?o1.hashCode()-o2.hashCode():num);
}

});
System.out.println("输入完成请在姓名输入 end 结束 ");
while(true){

System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
System.out.println("请输入"+name+"学生的语文成绩:");
int china = scanner.nextInt();
System.out.println("请输入"+name+"学生的数学成绩:");
int math = scanner.nextInt();
System.out.println("请输入"+name+"学生的数学成绩:");
int english = scanner.nextInt();
if("end".equals(name)){
break;
}
tSet.add(new students(name,china,math,english));
}

System.out.println(tSet);

}
}

class students{
String name;
int china;
int math;
int english;
int score;
public students(String name,int china,int math,int english) {
// TODO Auto-generated constructor stub
this.name=name;
this.china=china;
this.english=english;
this.math=math;
this.score=china+english+math;
}
@Override
public String toString() {
return "students [name=" + name + ", china=" + china + ", math=" + math
+ ", english=" + english + ", score=" + score + "]";
}

}

每次输入完成第一遍之后就会自动跳过 输入姓名让我直接输入语文成绩,新手,往个位大给小弟看看。

----------------------结果输出:------------------------
输入完成请在姓名输入 end 结束
请输入学生姓名:
张三
请输入张三学生的语文成绩:
76
请输入张三学生的数学成绩:
65
请输入张三学生的数学成绩:
86
请输入学生姓名:
请输入学生的语文成绩:
展开
 我来答
落叶l无情
2016-05-25 · TA获得超过1417个赞
知道大有可为答主
回答量:1372
采纳率:0%
帮助的人:1413万
展开全部
  nextInt()方法会读取下一个int型标志的token.但是焦点不会移动到下一行,仍然处在这一行上。当使用nextLine()方法时会读取该行剩余的所有的内容,包括换行符,然后把焦点移动到下一行的开头。所以在第二次循环使用nextLine()时,直接将上一次nextInt()剩余内容至换行这部分内容接收了,这样在我们看来就是直接跳过了姓名的输入。
  解决办法:可以在循环末尾使用nextLine()接收掉剩余的部分。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式