MyException - 我的异常网
当前位置:我的异常网» Eclipse » 至于 hasNextInt

至于 hasNextInt

www.MyException.Cn  网友分享于:2013-11-30  浏览:170次
关于 hasNextInt
import java.util.Scanner;
public class breakDemo {
public static void main(String[]args){
int score;
int sum = 0;
int avg;
int total;
Scanner input = new Scanner(System.in);
System.out.print("输入班级总人数");
if(input.hasNextInt()){
total = input.nextInt();
for(int i = 0 ; i<total;i++){
System.out.print("请输入第"+(i+1)+"位学生的成绩");
if(input.hasNextInt()){
score = input.nextInt();
if(score<80){
continue;
}
sum++;
}else{
System.out.print("输入出错");
}
}
System.out.println("80分以上的学生人数是:"+sum);
double rate = (double)sum/total*100;
System.out.println("80分学生在班级所占的比例为"+rate+"%");
}else{
System.out.println("输入错误");
total = input.nextInt();
}
  }
  }
运行的时候问题总是出现在,hasNextInt上的求分析

------解决方案--------------------
用正则表达式给你做了一个实例,只是验证了班级人数,下面的你可以照着葫芦画瓢
Java code

import java.util.Scanner;

public class BreakDemo {
    public static void main(String[]args){
        int score;
        int sum = 0;
        int avg;
        int total;
        Scanner input = new Scanner(System.in);
        System.out.print("输入班级总人数");
        while(true){
             String num=input.nextLine();
//        ;
        if(num.matches("^[1-9]\\d*$")){
            total = Integer.parseInt(num);
            for(int i = 0 ; i<total;i++){
                System.out.print("请输入第"+(i+1)+"位学生的成绩");
                if(input.hasNextInt()){
                    score = input.nextInt();
                    if(score<80){
                        continue;
                    }
                    sum++;
                }else{
                    System.out.print("输入出错");
                }
            }
            System.out.println("80分以上的学生人数是:"+sum);
            double rate = (double)sum/total*100;
            System.out.println("80分学生在班级所占的比例为"+rate+"%");
            break;
        }else{
            System.out.println("输入错误,请重新输入");
//            total = input.nextInt();
        }
        }

    }
}

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有