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
请输入学生姓名:
请输入学生的语文成绩: 展开
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
请输入学生姓名:
请输入学生的语文成绩: 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询