以下は、入力した数値の平均を表示するプログラムです。平均は切り捨てです。
まず初めに、数値の個数(n)を入力し、その後に数値を入力していきます。最後に0と入力すると終了します。
例えば、
4
1
2
3
4
0
と入力すると、
2と出力されます。一番上の4は数字の個数です。
ここまでは良いのですが、入力データセットが複数あると、前の入力データセットの平均がリセットされてしまいます。
例えば、
4
1
2
3
4
6
1
2
3
4
5
7
0
と入力した場合、一番上の4と6が数値の個数を表し、データセットの境目になっているのですが、結果は2つめのデータセット(123457)の方の平均しか出力されず、(1234)の平均は出力されません。おそらく上書きされているからだとは思いますが、どう書いたらよいか困っています。0を入力した後に2つの結果を表示するようにしたいです。教えていただけないでしょうか。よろしくお願いします。
java
1import java.util.Scanner; 2public class Average{ 3 public static void main(String[]args){ 4 Scanner sc = new Scanner(System.in); 5 int y=0; 6 while(sc.hasNext()){ 7 int n=sc.nextInt(); 8 if(n==0) {System.out.println(y); 9 break;} 10 int[]a=new int[n]; 11 for(int i=0; i<n; i++) a[i]=sc.nextInt(); 12 int x=0; 13 for(int i=0; i<n; i++){ 14 x=x+a[i]; 15 } 16 y=x/n; 17 } 18 } 19}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。