学生数怎么总是多个1?

package com.imooc;
import java.util.Scanner;
/*
 * 功能:统计用户输入的班级学生成绩总和、平均数
 */

public class DemoExercise {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.println("***请输入班级数***");
		int classNum=input.nextInt();
		double sum=0;
		int j;
		for(int i=1;i<=classNum;i++){
			System.out.println("***请输入第"+i+"班的学生数");
			
			int stuNum=input.nextInt();
			
			//重点来了↓
			for(j=1;j<=stuNum;){
				System.out.println("请输入第"+j+"个学生的成绩");
				double score=input.nextDouble();
				sum=sum+score;
				j++;
			}
			double avg=sum/j;
			System.out.println("第"+i+"班,"+"共"+j+"个学生,"+"成绩和为"+sum+"分,平均分为"+avg+"分!");
			sum=0;
			j=1;
		}
		
	}
	
	

}


聪明宝贝宝贝
浏览 1201回答 1
1回答

Caballarii

因为j==stuNum的时候执行了最后一次循环,j++了,此时等于stuNum+1,进不了下次循环,所以输出的时候j就是stuNum+1,你手动给j减掉1就好了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java