我不确定为什么这不打印任何东西
for (int number : humidity)
{
if (sum < 12)
{
System.out.printf("%6d",humidity[sum]);
sum++;
}
}
湿度来自文件
Scanner inFileHumid = new Scanner(fileNameHumid);
int [] humidity = new int[length];
然后设置为数组
while (inFileHumid.hasNextInt())
{
humidity[n] = inFileHumid.nextInt( );
n++;
}
并且文件中的数字是69 67 66 64 66 69 67 67 70 69 69 70这些是我试图在每个循环中打印的那些
答案 0 :(得分:2)
您正在迭代number
中的每个humidity
,但是您会忽略这些值并测试一些不相关的sum
。我想你想要
for (int number : humidity)
{
System.out.printf("%6d", number);
}
或等效,
for (int sum = 0; sum < humidity.length; sum++)
{
System.out.printf("%6d", humidity[sum]);
}
答案 1 :(得分:0)
我认为你只是在湿度指数方面存在问题。所以这应该工作。
for (int number : humidity){
if (number < 12) // Look at the value
{
System.out.printf("%6d", number); // Print what is in the array
}
}
答案 2 :(得分:0)
假设在输入循环之前sum为零,则该代码可以正常工作。
int[] humidity = {1,2,3,4,5,6,7,8,9,0,1,2};
int sum= 0;
for (int number : humidity) {
if (sum < 12) {
System.out.printf("%6d", humidity[sum]);
sum++;
}
}
制造
1 2 3 4 5 6 7 8 9 0 1 2
因此,对于失败的代码,在输入循环之前,sum必须大于或等于12。