所以我必须制作Java降雨计划。事情是我的教授要我使用myprogramminglab来提交它,如果你没有得到完全相同的mpl输出,它会被标记为错误,而这一点非常敏感。我已经完成了程序的大部分工作,但实际上我遇到的问题是将最大月份和最小月份输出为字符串和输入验证。需要关于Java降雨计划的帮助
这里的任务:
编写具有以下领域的降雨量等级:
•双打的阵列存储降雨量为每个12 个月的一年(其中第一指数与一月, 第二,今年2月,等)对应
类也应该有以下几种方法:
•返回的总降雨量为全年
•返回的月平均降雨量为全年
•返回最雨的月份作为一个字符串
•返回一个方法的方法等的方法用最少的雨作为一个字符串展示类的程序,需要12个双打从 用户一个月(以双打在一年中的月份的顺序, 第一对应降雨量一月等)。输入 验证:如果用户输入负数,则忽略它,并且 继续询问他们的输入,直到您有12个非负双数 。
一旦用户给你所有12个双打,创建 实例的降雨量类并调用它的方法,打印出总 降雨,平均月降雨量,最雨月, 和月雨量最少,每条都有一条独立的线路。
下面是输出MPL希望浮动期间代表空间和箭头
newlines:
Enter·rainfall·for·month·1:1.12↵
Enter·rainfall·for·month·2:2.24↵
Enter·rainfall·for·month·3:3.36↵
Enter·rainfall·for·month·4:0.48↵
Enter·rainfall·for·month·5:2.00↵
Enter·rainfall·for·month·6:5.00↵
Enter·rainfall·for·month·7:12.12↵
Enter·rainfall·for·month·8:1.48↵
Enter·rainfall·for·month·9:3.12↵
Enter·rainfall·for·month·10:3.24↵
Enter·rainfall·for·month·11:6.6↵
Enter·rainfall·for·month·12:1.12↵
41.88↵
3.49↵
July↵
April↵
这里是我的代码
public class rainFall
{
Scanner input = new Scanner(System.in);
String rain[] = {"January", "Febuary", "March", "April", "May", "June", "July", "August", "September", "November", "December"};
static double sum = 0;
static double avg = 0;
int m = 1;
double numbers = 0;
public void setSum()
{
while(m < 13)
{
System.out.print("Enter rainfall for month " + m + ":");
numbers = input.nextDouble();
sum+= numbers;
m++;
}
}
public double getSum()
{
return sum;
}
public void setAverage()
{
avg = sum/12;
}
public double getAverage()
{
return avg;
}
public String getLargest()
{
String largest = rain[0];
int r = 0;
for(int i = 0; i < numbers; i++)
{
if(rain[i] > numbers)
{
r = i;
}
}
return r;
}
public static void main(String[] args) {
rainFall rf = new rainFall();
rf.setSum();
rf.setAverage();
System.out.println(rf.getSum());
System.out.println(rf.getAverage());
}
}
我唯一的错误是不好的操作数类型的if语句和返回语句在getLargest()
如果你的条件没有逻辑意义 - 一个String,'rain [i]'如何大于'numbers',一个double?你想在那里做什么?你究竟在想你在测试什么? –
你甚至没有按照指示 - 你的双打在哪里? –