Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
布尔表达式——Java_Java - Fatal编程技术网

布尔表达式——Java

布尔表达式——Java,java,Java,我正在编写一个Java代码,其中显示了第0天到第6天的降雨量直方图(单位:毫米),即第0天是星期一,第6天是星期天。我为7天的平均降雨量编写的代码如下: public float averageRain() { int d; float total = 0.0f;

我正在编写一个Java代码,其中显示了第0天到第6天的降雨量直方图(单位:毫米),即第0天是星期一,第6天是星期天。我为7天的平均降雨量编写的代码如下:

                 public float averageRain() {
                   int d;                                  
                   float total = 0.0f;                         
                   for (d = 0; d < days; d++)
                     total=total + rain[d];                 
                   return(total / days); 
                 }

我假设
days
是一个值为7的常数。替换为:

private static final int DAYS_IN_WEEK = 7;
是否要忽略无效的日数或雨量值?这是互动节目吗?而且,您希望让人们在一天内输入两次雨量值吗?我可以看到有人输入星期三的
10mm
,然后试图更正它并输入
5mm
。目前,没有办法做到这一点。如果您知道如何使用异常,您可以让您的方法抛出java.lang.IllegalArgumentException,并将其报告给用户,以便用户可以重试:

public void setRainForDay(int day, float rainfall) {
    if (day < 0 || day >= DAYS_IN_WEEK) {
        // Throw an IAE.
    }
    if (rainfall < 0.0f) {
        // Throw an IAE.
    }
    rain[day] = rainfall;  // Set, not add.
}
public void setRainForDay(整数天,浮动降雨){
如果(日<0日>=周内天数){
//掷骰子。
}
如果(降雨量<0.0f){
//掷骰子。
}
雨[天]=降雨量;//设置,不添加。
}
调用例程捕获IAE,将其报告给用户,用户可以重试

摆动
我没有意识到这个应用程序应该是一个Swing应用程序。在这种情况下,抛出异常不是合适的方法。相反,我们想要一个模型类,一个保存数据的类,一个想要视图类,一个想要控制器类来完成实际工作。而且,我们希望使用
propertychangelister
s和
vetoablechangelister
s。当您在Rainsion
JFormattedTextField
中键入
-10
时,它会向控制器发送一个属性更改事件,辉格随后必须拒绝设置模型类,而不是否决更改。实际上,编写和应用
InputValidator
会更简单。最好不要给用户犯错的机会。

您选择的标记,
布尔值
,对于这个问题的描述不充分。事实上,这个问题根本与布尔表达式无关。我想,这只是为了说明我的Java技能是多么的初级!埃里克,谢谢你的回复。抱歉,我应该更清楚一点,这是一个交互式程序(“公共类Rain扩展JFrame实现ActionListener”),其中主程序“Rain”调用方法,还有诸如DriestDay和AverageRainFall等JButton。我将尝试一下您的方法。再次感谢。我不知道这是一个Swing应用程序。然后,有一个更合适的方法。我会编辑的。Eric,谢谢你提供关于InputValidator的提示。我现在正在阅读它,看看它如何应用到我的程序中。非常感谢。
public void setRainForDay(int day, float rainfall) {
    if (day < 0 || day >= DAYS_IN_WEEK) {
        // Throw an IAE.
    }
    if (rainfall < 0.0f) {
        // Throw an IAE.
    }
    rain[day] = rainfall;  // Set, not add.
}