2015-10-07 4 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

Если это домашнее задание, прочитайте [это] (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 + "."); 
} 
Смежные вопросы