Java循环测验

时间:2013-09-11 11:48:56

标签: loops average

所以我在调试这段代码时遇到了麻烦,想请求你帮忙..

所以这是代码: import java.io。*;

公共类PrefEx2 {     public static void main(String args [])抛出IOException {

    int quiz, ave, sum=0;

    BufferedReader inpt = new BufferedReader (new InputStreamReader(System.in));

    // System.out.print("Section 1");

    for (int sect=1; sect<4; sect++){
        System.out.print("Section " + sect);
    for (int x=1; x<4; x++){
        System.out.println("\n Student " + x);
     for (int y=1; y<4; y++){
        System.out.print("Quiz " + y + ": ");
        quiz=Integer.parseInt(inpt.readLine());
        sum=sum+quiz;
     }
        ave=sum/3;
        System.out.print("Average: " + ave);
        System.out.println("");
     }

  }
    System.out.println("");
}

}

我想在输出中显示:

第1节(最多3节)

-Student 1

- 测验1:xx

- 测验2:xx

- 测验3:xx

- 平均值:xx

-Student 2

- 测验1:xx

- 测验2:xx

- 测验3:xx

- 平均值:xx

- 学生3

- 测验1:xx

- 测验2:xx

- 测验3:xx

- 平均值:xx

============================

因此,此代码中的问题是平均自我总结 喜欢例如 学生1的平均分为94分 然后在接下来的平均值,它变成186而不是92 .. 我希望你能帮助我,我需要这个项目。

谢谢!

3 个答案:

答案 0 :(得分:1)

问题是变量和。你必须在avg calc

之后重置它

答案 1 :(得分:0)

在此行之前加上一个和=

for (int y=1; y<4; y++){

重置每个学生的价值

答案 2 :(得分:0)

你应该分配sum = 0;之前 for(int y = 1; y&lt; 4; y ++)