我已被要求获取用户输入并忽略不在-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);
}
}
}
答案 0 :(得分:2)
IDE可能会显示警告,因为如果您删除了继续,您的代码将完全相同。想一想。
答案 1 :(得分:2)
IDE还会抛出一个不必要的继续&#34;警告。
这是不必要的continue
。为什么呢?
如果您的if
语句变为true,则else
将不会被执行。如果if
条件为false,则会执行else
。因此,这里不需要continue
。
continue
:
while(true)
{
double userInput = Double.parseDouble(reader.nextLine());
if (userInput < -30.0 || userInput > 40.0)
{
continue;
}
Graph.addNumber(userInput);
}
没有else
语句,因此现在必须使用continue
来跳过当前迭代的进一步执行。
答案 2 :(得分:1)
在您的情况下,您不需要使用continue。请改用:
if( userInput >= -30 && userInput <= 40){
Graph.addNumber(userInput);
}