2016-04-15 6 views
-4

Ich möchte die durchschnittlichen Zahlen mit Arrays berechnen. Ich möchte, dass das Programm nach der Anzahl der Noten fragt und nachdem ich die Noten eintragen möchte.Berechnen Sie Durchschnitt in Arrays

Nachdem ich die durchschnittliche Ausgabe in einem double bekommen möchte. so weit

Dies ist mein Code:

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

'Zahlen [0] = a; Zahlen [0] = b; numbers [0] = c; 'das sind zwei Dinge: *** falsch ***, weil du immer auf den gleichen Index schreibst und *** veraltet ***, weil du dein Array bereits richtig mit' a initialisiert hast ',' b' und 'c'. So können Sie diese Zeilen entfernen. – Tom

+3

Was genau willst du?Kann ich das mit einer beliebigen Anzahl von Noten machen? – dquijada

+0

Eigentlich ist es für mich ziemlich unklar, was du fragst. Können Sie eine Beispieleingabe und die erwartete Ausgabe nachweisen? – SomeJavaGuy

Antwort

5

Sie nicht wissen, was Ihre Klasse MyConsole tut, aber ich denke, ist ein Scanner:

Ihr Code verbessert so etwas wie dies sein wird:

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); 
} 

OUTPUT (2 Noten):

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

OUTPUT (5 Stufen):

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 

HINWEIS

double average = sum/n; 

führt eine int Division, so dass Sie keine Dezimalstellen nicht haben!

double average = sum/(double) n; 

Mit neuen Ausgabe:

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

GUESS Ihre eigene Klasse mit: Ich würde eine schnelle Besetzung vorschlagen

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

es Ihnen danken! Entschuldigung für die schlechte Erklärung. Dies ist meine erste Frage

dies den Code nach bearbeiten:

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

Hinweis: Sie können 'print' anstelle von' println' verwenden, um Eingaben in derselben Zeile wie die Frage zu schreiben –

0

Programm Durchschnitt Verwenden von Arrays zu ermitteln:

public class INTER1 {// Name der Klasse

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 statisch java.time.Clock.system; Import java.util.Scanner;

public class 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); 

}  
}