【发布时间】:2015-03-26 04:45:42
【问题描述】:
我被要求获取用户输入并忽略不在 -30 和 40 范围内的值。为了跳过无效数字,我使用了“继续”语句。我在谷歌上搜索了消息来源说继续/中断是不好的做法。 IDE 还会发出“不必要的继续”警告。下面的代码是解决这个问题的好习惯,我应该覆盖警告还是解决它?
我的代码如下图:
public class Temperatures
{
@SuppressWarnings("UnnecessaryContinue")
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
// Write your code here.
while(true)
{
//ask user for input
double userInput = Double.parseDouble(reader.nextLine());
//makes sure temperature is within range, if it isn't ignores value and moves on
if (userInput < -30.0 || userInput > 40.0)
{
continue;
}
//adds value to graph
else
{
Graph.addNumber(userInput);
}
}
}
【问题讨论】:
-
反转
if语句,使其仅在值处于可接受范围内时添加值... -
啊,你说得对,我真的很笨,谢谢!
-
警告的原因是
else。如果您删除了该警告也会消失。 -
continue将跳过循环的其余部分到循环体的末尾,然后重复循环。但是没有什么可以跳过的。无论如何,该程序都不会执行else分支,也没有什么可以跳过的。您可以删除该行(使if部分为空{ }),程序将完全一样地工作。但是倒置if语句会更好。
标签: java overriding continue suppress