2016-04-15 6 views
-4

Я хочу рассчитать средние числа, используя массивы. Я хочу, чтобы программа запрашивала количество оценок и после того, как я хочу поместить номера классов.Рассчитать среднее значение в массивах

После того, как я хочу получить средний результат в double.

Это мой код до сих пор:

public class Average { 

    public static void main(String[] args) 
    { 
     //int n = MyConsole.readInt("Enter number of grades: "); 

     int a = MyConsole.readInt("Enter grade 1: "); 
     int b = MyConsole.readInt("Enter grade 2: "); 
     int c = MyConsole.readInt("Enter grade 3: "); 

     int[] numbers = new int[]{a,b,c}; 
     numbers[0] = a; 
     numbers[1] = b; 
     numbers[2] = c; 


     int sum = 0; 

     for(int i=0; i < numbers.length ; i++) 
       sum = sum + numbers[i]; 

     double average = sum/numbers.length; 

     System.out.println("Average value of array elements is : " + average); 
    } 
} 
+2

'числа [0] = а; числа [0] = b; numbers [0] = c; 'это две вещи: *** неправильно ***, потому что вы всегда записываете один и тот же индекс и *** устарели ***, потому что вы уже правильно инициализировали ваш массив с помощью' a ',' b' и 'c'. Таким образом, вы можете удалить эти строки. – Tom

+3

Что именно вы хотите?чтобы иметь возможность делать это с любым количеством оценок? – dquijada

+0

На самом деле для меня совершенно непонятно, о чем вы спрашиваете. Могли бы вы доказать пример ввода и ожидаемый результат? – SomeJavaGuy

ответ

5

Не знаю, что ваш класс MyConsole делает, но я предполагаю, что это Scanner:

Ваш код улучшилось будет что-то вроде этого:

public static void main(String[] args) { 
    Scanner sc = new Scanner(System.in); 

    System.out.print("Enter number of grades: "); 
    int n = sc.nextInt(); 

    int sum = 0; 

    for (int i = 0; i < n; i++) { 
     System.out.print("Enter grade "+ (i + 1) + ": "); 
     int a = sc.nextInt(); 
     sum += a; 
    } 

    double average = sum/n; 

    System.out.println("Average value of array elements is : " + average); 
} 

ВЫХОД (2 сорта):

Enter number of grades: 2 
Enter grade 1: 1 
Enter grade 2: 5 
Average value of array elements is : 3.0 

OUTPUT (5 классов):

Enter number of grades: 5 
Enter grade 1: 10 
Enter grade 2: 20 
Enter grade 3: 30 
Enter grade 4: 10 
Enter grade 5: 50 
Average value of array elements is : 24.0 

Примечание

double average = sum/n; 

выполняет ИНТ деление, так что вы не будете иметь никаких знаков после запятой! Я хотел бы предложить быстрый бросок:

double average = sum/(double) n; 

С новым выходом:

Enter number of grades: 2 
Enter grade 1: 1 
Enter grade 2: 4 
Average value of array elements is : 2.5 

GUESS используя свой собственный класс:

public static void main(String[] args) { 
    int sum = 0; 

    int n = MyConsole.readInt("Enter number of grades: "); 

    for (int i = 0; i < n; i++) { 
     int a = MyConsole.readInt("Enter grade "+ (i + 1) + ": "); 
     sum += a; 
    } 

    double average = sum/n; 

    System.out.println("Average value of array elements is : " + average); 
1

спасибо! Извините за плохое объяснение. Это мой первый вопрос

этого кода после редактирования:

import java.util.Scanner; 

public class Average { 

    public static void main(String[] args) 
    { 
     Scanner sc = new Scanner(System.in); 
     System.out.println("Enter number of grades: "); 
     int n = sc.nextInt(); 
     int sum = 0; 

     int[] numbers = new int[n]; 

     for(int i=0; i < numbers.length ; i++) 
     { 
      System.out.println("Enter grade " + (i + 1) + " :"); 
      int a = sc.nextInt(); 
      sum = sum + a; 
     } 

     double average = sum/(double) n; 

     System.out.println("Average value of array elements is : " + average); 
     sc.close(); 
    } 
} 
+0

Обратите внимание, что вы можете использовать 'print' вместо' println' для ввода входов в той же строке, что и вопрос –

0

Программа для расчета среднего с использованием массивов:

общественного класса Inter1 {// имя класса

public static void main(String[] args) {//main method 

int number[]={40,56,23,56,87,23,78}; //declaring the int array 
int sum=0; 
for (int s:number){ //for each 
    sum +=s; 
} 
int ave=sum/number.length; //to get the average 
    System.out.println("the average is "+ave); //out put 
}  
} 
0
public class Inter1 { //name of the class 

    public static void main(String[] args) { //main method 

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

     int num[]={34,56,78,78,34,2,33,99,100,56}; //int array 
     int total=0; 
     for (int i=0;i<num.length;i++){ //for loop 
      total+=num[i]; 
     } 

     int avrage1=total/num.length; //output 
       System.out.println("The average is "+avrage1); 

    }  
} 
0
package inter1; 

import static java.time.Clock.system; импорт java.util.Scanner;

общественного класса Inter1 {

public static void main(String[] args) { 
Scanner in = new Scanner (System.in); 
int total=0; 
    System.out.println("Enter how many number that do u wanna enter ?? "); 
    int num= in.nextInt(); 
    int numbers[]=new int[num]; 
    for (int i=0;i<numbers.length;i++){ 
     System.out.println(i+1+":"+"enter the your numbers ? "); 
     numbers[i]=in.nextInt(); 
    } 
    for (int i=0;i<numbers.length;i++){ 
     total+=numbers[i]; 
    } 
    int average =total/numbers.length; 
    System.out.println("the average is "+average); 

}  
} 
Смежные вопросы