2016-04-15 29 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] =。 numbers [0] = b;あなたは既に配列を正しく初期化しているので、あなたは常に同じインデックスと***に書き換えているので、***は間違っています。 '、' 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); 
} 

OUTPUT(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 

NOTE

double average = sum/n; 

は、int型の除算を行い、あなたが任意の小数点以下を持っていないでしょう!独自のクラスを使用して

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

はあなたに感謝し、新しい出力で

double average = sum/(double) n; 

:私は、高速なキャストを提案するだろう! ひどい説明をして申し訳ありません。 これは私の最初の質問

このそれを編集した後のコードである:配列を使用して平均値を計算するために

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

'println'の代わりに' print'を使って質問と同じ行に入力を書くことができます –

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; 

インポート静的java.time.Clock.system; import 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); 

}  
} 
関連する問題