import java.util.Scanner;
import java.util.Vector;
public class ScoreTest {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
Vector v=new Vector();
int max=0;
while(true){
Integer integer=scanner.nextInt();
if(integer<=0){
break;
}
v.addElement(integer);
if(max<integer){
max=integer;
}
}
System.out.println("max= "+max);
for(int i=0;i<v.size();i++){
if(max-(Integer)v.get(i)<10){
System.out.println("成绩为 "+(Integer)v.get(i)+"等级为 A");
}else if(max-(Integer)v.get(i)<20){
System.out.println("成绩为 "+(Integer)v.get(i)+"等级为 B");
}else if(max-(Integer)v.get(i)<30){
System.out.println("成绩为 "+(Integer)v.get(i)+"等级为 C");
}else {
System.out.println("成绩为 "+(Integer)v.get(i)+"等级为 D");
}
}
}
}
优化后的代码
public class NewScoreTest {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int maxScore=0;
Vector v=new Vector();
while(true){
System.out.println("请输入学生的成绩,以负数结束");
int score=scanner.nextInt();
if(score<0){
break;
}
if(score>100){
System.out.println("输入的成绩不合法,请重写输入");
continue;
}
v.addElement(score);
if(maxScore<score){
maxScore=score;
}
}
char level;
for(int i=0;i<v.size();i++){
Object obj=v.elementAt(i);
int score=(Integer)obj;
if(maxScore-score<=10){
level='A';
}else if(maxScore-score<=20){
level='B';
}else if(maxScore-score<=30){
level='C';
}else {
level='D';
}
System.out.println("student -"+i+" score is "+score+",level is "+level);
}
}
}