4JavaWeb 2019-01-15 10:08 采纳率: 50%
浏览 1571

如何判断键入的是数字,不符合则重新输入?

JDK:1.8.0_192

系统:centOS 7

怎么对键入的成绩进行判断,如果不是数字或不满足条件则重新输入

丑陋的源代码如下:

class hello{
        public static void main(String[] args){
                Scanner inputTwo = new Scanner(System.in);
                Scanner inputThree = new Scanner(System.in);
                //键入班级数量
                System.out.print("Plz input class number:");
                int classNum = inputTwo.nextInt();
                double sum=0;
                double avg=0;
                Scanner input = new Scanner(System.in);
                //循环键入学生成绩
                for(int i=1;i<=classNum;i++){
                    sum = 0;
                    //键入当前班级的学生数量
                    System.out.print("plz input student number in class No."+i+":");
                    int stuNum = inputThree.nextInt();
                    for(int j=1;j<=stuNum;j++){
                        System.out.println("*****Plz input score of class No."+i+"*****");
                        System.out.print("Plz input score of student No."+j+":");
                        double score = input.nextDouble();
                        //判断键入是否符合条件,不符合则要求重输
                        if(score<=100&&score>=0){
                          sum=sum+score;
                        }else{
                             while(score!=score+1){
                                System.out.print("Wrong input,plz input again:");
                                score=input.nextDouble();
                                if(score<=100&&score>=0){
                                        break;
                                }
                        }
                   }
                }
                avg=sum/stuNum;
                System.out.println("Class No."+i+"of average score is:"+String.format("%.2f",avg));
             }
        }


当我键入“y”时,整个程序直接断了:

图片说明

先谢过各位大佬嘞!!!

instanceof怎么用呢?

图片说明

图片说明

  • 写回答

2条回答 默认 最新

  • tavatimsa 2019-01-15 10:17
    关注

    可以用next()或者nextLine() 获得输入字符串,然后用obj instanceof Integer 判断是否是int型

    评论

报告相同问题?

悬赏问题

  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型