2016-04-02 12 views
0

これは私の宿題の問題です。 温度が平均より高い 日の数をカウントするNumberAboveAverageクラスでプログラムを作成します。 キーボードから10個の温度を読み取り、アレイに配置します。平均温度を計算して とし、温度が を平均以上上回った日数を数えて表示します。アレイ使用時のカウント表示

私はコードを書いており、日数以外のすべてが正しく出力されます。私はそれを修正する方法を把握することはできません。助言がありますか?

マイコード:

public static void main(String[] args) 
{ 
final int NUMBER_OF_TEMPERATURES = 10; 
double[] temperature = new double[NUMBER_OF_TEMPERATURES]; 
int temperatureCount = 0; 
double total = 0; 

//Reads temperature & counts entries. 
Scanner input = new Scanner(System.in); 
for (int i = 0; i < temperature.length; i++) 
{ 
    System.out.println("Enter a temperature:"); 
    temperature[i] = input.nextDouble(); 
    total = total + temperature[i]; 
    temperatureCount++; 
} 

//Computes the average 
double averageTemp = total/NUMBER_OF_TEMPERATURES; 
System.out.println("The average temperature is " + averageTemp); 

//Displays temperatures above average. 
System.out.println("The temperatures above average are as follows: "); 
for (int i = 0; i < temperature.length; i++) 
{ 
    if (temperature[i]> averageTemp) 
     System.out.println("Day " + i + 1 + ":" + temperature[i]); 
} 

} 

これらは私がそれを実行したときに、私が得る結果です。

Enter a temperature: 
98 
Enter a temperature: 
94 
Enter a temperature: 
93 
Enter a temperature: 
96 
Enter a temperature: 
91 
Enter a temperature: 
92 
Enter a temperature: 
90 
Enter a temperature: 
96 
Enter a temperature: 
99 
Enter a temperature: 
94 
The average temperature is 94.3 
The temperatures above average are as follows: 
Day 01:98.0 
Day 31:96.0 
Day 71:96.0 
Day 81:99.0 

答えて

3

出力ラインにiと1をグループ化する必要があるかもしれません。現在、iを出力してから「1」を出力するので、「Day 01」、「Day 31」を出力することがあります。出力行を

に変更してください。私の理解が正しければ

  • 温度[i]は
    1. "デイ"
    2. I
    3. ":" 現在のところ、それは5の異なるセクションを出力しています(0ではなく、どの配列から始まるか)を1から始めることができます。これを行うために、出力の "i"の値を1増加させます。 「i + 1」をグループ化することにより、出力エンジンはそれらを2つの別々の出力として扱うのではなく、一緒に追加します。グループ化は私たちを与える:

      1. "デイ"
      2. (I + 1)
      3. ":"
      4. 温度[i]は
    +0

    うわー、本当に?それだけ簡単ですか?100万こんにちは、それは働いた!私はそれを逃したとは信じられません。 – Sarah

    +0

    心配はいりません!それはしばしば私たちが見逃す最も簡単なことです、そして誰か他の人がそれを簡単に見つけることができます。 –

    0

    最も重要なことは、その文字列が前にそこにある場合任意のステートメント内の "+"演算子であり、算術演算を実行しなければならず、常に大括弧で囲む必要があります。

    "合計" + 5 + 6が出力 "和= 56" か "合計は=" +(5 + 6)をO/Pが "和= 11"

    であるようにそれを使用する場合に発生するように等

    ** +演算子の使用: - 1. "String1" + "string2"(2つの文字列を連結)。 2.私たちはあなたに

    ​​

    を取るように文は任意の文字列なしがある場合(それが動作します)。文中に "i + 1"の前に文字列がないためです。

    oopsプログラミングの "+"の背後にある概念を理解してください。

    関連する問題