判断成绩的等级
题目:判断成绩为“优”“良”“中”“及格”“不及格”
1.
public class ttest2 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("输入成绩"); Scanner in = new Scanner(System.in); int num=in.nextInt(); while(num!=-1) { if(num>=60) { if(num>=70) { if(num>=80) { if(num>=90) System.out.println("优"); else System.out.println("良"); } else System.out.println("中"); } else System.out.println("及格"); } else System.out.println("不及格"); num=in.nextInt(); } } }
2.如果输入了字符串,则整个程序就报错了,能不能添加一下判断语句,使其也能正常运行呢
暂时只能编写到这。
public class score { public static void main(String[] args) { System.out.println("请输入成绩:"); Scanner in = new Scanner(System.in); String num; int find=0;//find=1说明输入的数据不正确 num=in.next(); if(num.length()<0||num.length()>3)//0-100成绩 find=1; char[] numArray=num.toCharArray(); int sum=0; for(int i=0;i<num.length()&&find!=1;i++){ if(numArray[i]>='0'&&numArray[i]<='9'){ sum=sum*10+(numArray[i]-'0'); } else find=1;//如1a 1a0 } if(find==1||sum>100||sum<0) System.out.println("输入不合法");//出现字符、数字超出了范围的情况 else if(numArray[0]=='0'&&num.length()>1) System.out.println("输入不合法");//如010 001 023都属于不合法的输入 else{ if(sum>=60){ if(sum>=70){ if(sum>=80){ if(sum>=90){ System.out.println("优"); } else System.out.println("良"); } else System.out.println("中"); } else System.out.println("及格"); } else System.out.println("不及格"); } } }