 
		qq_北七_1
2017-07-10 18:52
int clsaaNum=3;//保存班级的数量
		int stuNum=4;//保存学生数量
		double sum=0;//班级总成绩
		double avg=0;//班级平均分
		int score =0;
		Scanner input=new Scanner(System.in);//创建Scanner对象
		
		for(int i=1;i<=3;i++) { //外层循环
			sum=0;
			System.out.println("——请输入第"+i+"个班级的成绩:——");
			
			for(int j=1;j<=stuNum;j++) {       //内层循环
				
  				System.out.print("请输入第"+j+"个学生的成绩:");
  				 score =input.nextInt();//通过Scanner对象的nextInt获取学生个人成绩
  				
  				sum+=score;       //个人成绩累加总和
			}
			avg=sum/stuNum;
				System.out.println("班级平均分是:"+avg);
		}		
	}
} 
				首先判断输入的内容是整类 如果是整形,向下执行代码
while(!sc.hasNextInt()){//不是整形 执行循环是整形 跳出循环
System.out.println("输入数据有误,请重新输入");//不是整形 给出提示,
sc.next();//继续输入
}
然后判断输入的数据是否在1-100
 
				int clsaaNum=3;//保存班级的数量
        int stuNum=4;//保存学生数量
        double sum=0;//班级总成绩
        double avg=0;//班级平均分
        int score =0;
        Scanner input=new Scanner(System.in);//创建Scanner对象
         
        for(int i=1;i<=3;i++) { //外层循环
            sum=0;
            System.out.println("——请输入第"+i+"个班级的成绩:——");
             
            for(int j=1;j<=stuNum;j++) {       //内层循环
                 
                  System.out.print("请输入第"+j+"个学生的成绩:");
                   score =input.nextInt();//通过Scanner对象的nextInt获取学生个人成绩
                   while(score>100||score<10){
                   System.out.println("您输入的成绩有误!请重新输入(0~100):");
                    score=input.nextInt();
                    }
                  sum+=score;       //个人成绩累加总和
 
            }
 
            avg=sum/stuNum;
                System.out.println("班级平均分是:"+avg);
        }      
    }
 
}
/*在你写的代码间加一个while循环判断输入的数据是否是0到100之间,如果不是,则提示输入错误并要求重新输入,直到输入正确才跳出循环。希望对你有帮助*/ 
				int clsaaNum=3;//保存班级的数量
int stuNum=4;//保存学生数量
double sum=0;//班级总成绩
double avg=0;//班级平均分
int score =0;
Scanner input=new Scanner(System.in);//创建Scanner对象
for(int i=1;i<=3;i++) { //外层循环
sum=0;
System.out.println("——请输入第"+i+"个班级的成绩:——");
for(int j=1;j<=stuNum;j++) { //内层循环
System.out.print("请输入第"+j+"个学生的成绩:");
score =input.nextInt();//通过Scanner对象的nextInt获取学生个人成绩
while(score>100||score<10){
System.out.println("您输入的成绩有误!请重新输入(0~100):");
score=input.nextInt();
}
sum+=score; //个人成绩累加总和
}
avg=sum/stuNum;
System.out.println("班级平均分是:"+avg);
}
}
}
/*在你写的代码间加一个while循环判断输入的数据是否是0到100之间,如果不是,则提示输入错误并要求重新输入,直到输入正确才跳出循环。希望对你有帮助*/
 
				public static void main(String[] arg) {
int clsaaNum=3;//保存班级的数量
int stuNum=4;//保存学生数量
double sum=0;//班级总成绩
double avg=0;//班级平均分
Scanner input=new Scanner(System.in );//创建Scanner对象
for(int i=1;i<=3;i++) { //外层循环
sum=0;//成绩清零
System.out.println("——请输入第"+i+"个班级的成绩:——");
for(int j=1;j<=stuNum;j++) { //内层循环
System.out.print("请输入第"+j+"个学生的成绩:");
int score =input.nextInt();//通过Scanner对象的nextInt获取学生个人成绩
while(score<0||score>100) {
System.out.print("上一成绩信息无效,请输入正确的成绩:");
score =input.nextInt();
}
sum+=score; //个人成绩累加总和
}
avg=sum/stuNum;
System.out.println("班级平均分是:"+avg);
}
}
 
				代码没错,我能运行啊
 
				for(int j=1;j<=stuNum;j++) {       //内层循环
    System.out.print("请输入第"+j+"个学生的成绩:");
    score =input.nextInt();//通过Scanner对象的nextInt获取学生个人成绩
    if(score < 0 && score > 100){
        System.out.print("输入有误,请重新输入:") 
        score =input.nextInt();                  
    }
    sum+=score;       //个人成绩累加总和
}
这样就行了,只是缺少个提示而已,手动输入不存在控制输入范围的,只能客观的给予提醒! 
				for(int j=1;j<=stuNum;j++) { //内层循环
System.out.print("请输入第"+j+"个学生的成绩:");
score =input.nextInt();//通过Scanner对象的nextInt获取学生个人成绩
if(score < 0 && score > 100){
System.out.print("输入有误,请重新输入:")
score =input.nextInt();
}
sum+=score; //个人成绩累加总和
}
这样就行了,只是缺少个提示而已,手动输入不存在控制输入范围的,只能客观的给予提醒!
 
				输入时手动输入的啊 不存在控制的问题
Java入门第一季(IDEA工具)
1168090 学习 · 18754 问题
相似问题