2015-10-07 321 views
0

我一直在试图弄清楚这一点,或者我想的太多了,或者我只是很想念一些东西。我需要用户输入学生人数,得到它。然后,我需要根据用户输入的数字为每个学生输入一个单独的考试成绩。这是我卡住的地方。然后我需要根据这些测试等级计算总和,并计算平均值。任何帮助将不胜感激。我有这个至今:计算总和和平均值

import java.util.*; 

public class computeSumAverage { 

    public static void main(String[] args) { 

     Scanner kbd = new Scanner(System. in); 

     System.out.print("Please enter the number of students = "); 

     int student = kbd.nextInt(); 

     System.out.print("Please enter " + student + " test grades = "); 

     int count; 
     double grades = kbd.nextDouble(); 
     double sum = kbd.nextDouble(); 
     double average; 

     for (count = 0; count <= 100; count++); 

     sum = (grades++); 

     average = (sum/student); 

     System.out.println("The sum of the numbers is = " + sum + "." + "\n"); 
     System.out.println("The average of the numbers is = " + average + "."); 
    } 
} 
+2

'为(计数= 0;计数<= 100;计数++);'您有一个';'到底。立即终止循环。 –

+0

如果这是作业,请先阅读[this](http://meta.programmers.stackexchange.com/questions/6166/open-letter-to-students-with-homework-problems?cb=1),然后再询问您的下一项任务。 –

回答

0

你有学生人数为student之后,你应该问一个循环内的成绩(例如for循环),每个学生的成绩与ma你有几个学生,但你只需要一次循环外的等级......

请阅读关于(){}和{和}的用法。

工作片段是:

... 
double sum = 0; 
for (int i = 1; i <= students; i++) { 
    System.out.println("Grade for student " + i ":"); 
    double grad = kdb.nextDouble(); 
    sum = sum + grade; 
} 

double avg = sum/students; 
... 
2

试试这个。它应该工作。

public static void main (String[] args) { 

    Scanner kbd = new Scanner (System.in); 

    System.out.print ("Please enter the number of students = ");  

    int count = kbd.nextInt(); 

    double sum = 0; 
    double average = 0;; 

    for (int student = 0; student < count; student ++){ 

     System.out.print ("Please enter Student: " + String.valueOf(student +1) + " test grades = "); 

     double grades = kbd.nextDouble(); 

     sum += grades; 

    } 

    average = (sum/count); 

    System.out.println ("The sum of the grades is = " + sum + "." + "\n"); 
    System.out.println ("The average of the grades is = " + average + "."); 

} 

你的代码有什么问题。

  1. 在for循环中是无用的,因为它不能帮助您实现您想要做的事情;马上停止它。循环没有核心。您应循环查看您拥有的学生人数。

  2. 在循环内部,您应该阅读成绩并提示用户输入每个学生的成绩。

  3. 总和,你没有真正尝试我猜。

  4. 编码之前,你应该考虑你在做什么。

0

有几件事情是从您的解决方案缺少:

  • 你的循环应该算学生人数(不是“100”)
  • 在每次迭代中,你应该要求用户再年级。
  • 循环播放时,您最好还是总结这些值,以便稍后可以计算出平均值。

例如:

public static void main(String[] args) { 

    Scanner kbd = new Scanner(System. in); 

    System.out.print("Please enter the number of students = "); 

    int students = kbd.nextInt(); 

    System.out.print("Please enter " + students + " test grades = "); 

    double sum = 0; 

    for (int count = 0; count < students; count++) { 
    double grade = kbd.nextDouble(); 
    sum += grade; 
    } 


    double average = (sum/students); 

    System.out.println("The sum of the numbers is = " + sum + "." + "\n"); 
    System.out.println("The average of the numbers is = " + average + "."); 
}