当前位置: 代码迷 >> J2EE >> system.in 有关问题
  详细解决方案

system.in 有关问题

热度:215   发布时间:2016-04-22 02:50:48.0
system.in 问题
用if语句实现学生成绩的百分制到等级制的转换。
写if实现的成绩判断,练习通过系统输入输入一个百分制分,通过选择结构Switch转换为英制分数(A:90-100, B:80-89 C:70-79 D: 60-69;F:1-59)(思考:把Switch改为if结构) 
要求:
使用输入流System.in的读操作读入成绩。
把输入的String型转换成int型(使用Integer的一个静态方法ParseInt ())
用if结构判断成绩等级,然后返回结果(不及格的都是E,其它的从A-D每十分一个等级)
用一个循环控制你不断输入成绩并判断,直到成绩输入为0时退出程序。
帮帮忙啊

------解决方案--------------------
Java code
public void judgedScore(){   BufferedReader br = null;    try{        System.out.println("请输入成绩,并回车:");        br = new BufferedReader(new InputStreamReader(System.in));        String line = br.readline();        //做非法字符的判断,不是数字的等,这里就判断null和空字符        if(line == null || "".equals(line.trim())){            System.out.println("你录入的是非法字符,继续Y,其它建退出!");            br = new BufferedReader(new InputStreamReader(System.in));            line = br.readline();        }        if(!"y".equalsIgnoreCase(line)){            return;        }        int score = Integer.parseInt(line.trim());        if(score > 100 || score < 0){            System.out.println("录入的是不符合逻辑的数值,继续Y,其它建退出!");            br = new BufferedReader(new InputStreamReader(System.in));            line = br.readline();        }        if(!"y".equalsIgnoreCase(line)){            return;        }        int flag = 0;        if(score >= 90){            flag = 1;        }else if(score >= 80){            flag = 2;        }else if(score >= 70){            flag = 2;        }else if(score >= 60){            flag = 3;        }else {            flag = 4;        }        switch(flag){            case 1:                    System.out.println("你的成绩登记是A");                    break;            case 2:                    System.out.println("你的成绩登记是B");                    break;            case 3:                    System.out.println("你的成绩登记是C");                    break;            case 4:                    System.out.println("你的成绩登记是D");                    break;            default:                System.out.println("成绩无效!");        }        System.out.println("是否继续录入?继续Y,其它建退出!");        br = new BufferedReader(new InputStreamReader(System.in));        line = br.readline();        if("y".equalsIgnoreCase(line)){            judgedScore();        }    }catch(Exception e){    }}
  相关解决方案