Right, so why does Java come up with this error:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from double to int
at rainfall.main(rainfall.java:38)
From this:
public class rainfall {
/**
* @param args
*/
public static void main(String[] args)
{
int[] numgroup;
numgroup = new int [12];
ConsoleReader console = new ConsoleReader();
int highest;
int lowest;
int index;
int tempVal;
int minMonth;
int minIndex;
int maxMonth;
int maxIndex;
System.out.println("Welcome to Rainfall");
// Input (index now 0-based)
for(index = 0; index < 12; index = index + 1)
{
System.out.println("Please enter the rainfall for month " + index + 1);
tempVal = console.readInt();
while (tempVal>100 || tempVal<0)
{
System.out.println("The rating must be within 0...100. Try again");
tempVal = console.readInt();
}
numgroup[index] = tempVal;
}
lowest = numgroup[0];
highest = numgroup[0];
int total = 0.0;
// Loop over data (using 1 loop)
for(index = 0; index < 12; index = index + 1)
{
int curr = numgroup[index];
if (curr < lowest) {
lowest = curr;
minIndex = index;
}
if (开发者_StackOverflow中文版curr > highest) {
highest = curr;
maxIndex = index;
}
total += curr;
}
float avg = (float)total / numgroup.length;
System.out.println("The average monthly rainfall was " + avg);
// +1 to go from 0-based index to 1-based month
System.out.println("The lowest monthly rainfall was month " + minIndex + 1);
System.out.println("The highest monthly rainfall was month " + maxIndex + 1);
System.out.println("Thank you for using Rainfall");
}
private static ConsoleReader ConsoleReader() {
return null;
}
}
I guess the culprit is this line:
int total = 0.0;
should be
int total = 0;
instead.
Problem is with this line here:
int total = 0.0;
Need to change total to be of type float
精彩评论