使用数组时显示计数

时间:2016-04-02 05:03:08

标签: java arrays count

这是我作业的问题。 在NumberAboveAverage类中编写一个程序,该类计算数量 温度高于平均水平的天数。阅读十个温度 键盘并将它们放在一个数组中。计算平均温度 然后计算并显示温度的天数 高于平均水平。

我已编写代码,除日计数外,所有内容都输出正确。我无法弄清楚如何解决它。有什么建议?

我的代码:

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

2 个答案:

答案 0 :(得分:3)

您可能需要在输出行中对i和1进行分组(如果我正确理解了问题)。目前,它可能输出“Day 01”,“Day 31”,因为您输出i,然后输出“1”。将输出行更改为:

System.out.println("Day " + (i + 1) + ":" + temperature[i]);

那应该解决它。目前,它输出5个不同的部分:

  1. “Day”
  2. I
  3. 1
  4. “:”
  5. 温度[I]
  6. 如果我的理解是正确的,你想从1开始计算一天(而不是0,从哪个数组开始)。为此,我们在输出中将“i”的值增加1。通过对“i + 1”进行分组,我们强制输出引擎将它们加在一起,而不是将它们视为两个单独的输出。分组给了我们:

    1. “Day”
    2. (i + 1)
    3. “:”
    4. 温度[I]

答案 1 :(得分:0)

最重要的是,如果在任何语句中有“+”运算符之前的字符串,并且您必须执行任何算术运算,那么总是在括号内执行它们。

如“sum”+ 5 + 6生成输出“sum = 56” 或者如果你使用它像“sum =”+(5 + 6)那么o / p是“sum = 11”

**使用+运算符: - 1.“String1”+“string2”(连接两个字符串)。 2.如果有没有任何字符串的陈述,就像我们带你一样

your code:=  "System.out.println("Day " + i + 1 + ":" + temperature[i]);"

try it :=  "System.out.println(i + 1 + "Day " + ":" + temperature[i]);"

(它会起作用)。因为在声明中“i + 1”之前没有字符串。

请尝试在oops编程中理解“+”背后的概念。