-4

重複の可能性:
ユーザー入力数の平均を取る

for (int n1 = in.nextInt(); n1 >= 0; n1 = in.nextInt())
  {
          int total = 0;
          int count = 0;

          while (n1 >= 0)
          {
                  n1 = in.nextInt();
                  total = total + n1;
                  count = count + 1;

          }
          out.println(total);
          out.println(count);
  } 

入力したすべての数字を合計したいのですが、このコードは正しいですか? 最後の2つの入力のみを追加します。ユーザーが負の数を入力するまでループを続けてからループを停止し、合計とカウントを出力します。

Scanner in = new Scanner(System.in);
Printstream out = System.out;
4

2 に答える 2

2
int total = 0;
int count = 0;

while (true) {
    int n = in.nextInt();
    if (n < 0) 
        break;
    total += n;
    count ++;
}
out.println(total);
out.println(count);
于 2012-07-31T04:02:45.213 に答える
0

コードは次のようになります。

int total = 0;
int count = 0;
int n1;

try
{
    while((n1=Integer.parseInt(in.nextLine()))>=0)
    {
        total = total + n1;
        count = count + 1;
    }
}
catch(Exception e)
{
    System.out.println(e.toString());
}

out.println("Total     = "+total);
out.println("Count     = "+count);

Format df=new DecimalFormat("#.##");
out.println("Average   = "+df.format((double)total/count));
于 2012-07-31T04:03:25.850 に答える