Java 除掉;浮点上下文中的整数除法;警告

Java 除掉;浮点上下文中的整数除法;警告,java,intellij-idea,warnings,suppress-warnings,Java,Intellij Idea,Warnings,Suppress Warnings,在这行代码中,是否可以消除“浮点上下文中的整数除法”警告: int num = 14; int roundedValue = (Math.round(num / 10) * 10); 一个解决办法是 int roundedValue = (num / 10) * 10; 注意整数除法会截断,因此在上面的例子中,Math.round调用是多余的 另一方面,这可能不会给你期望的答案。另一种可能给出不同(但可能更正确)答案的方法是: int roundedValue = Math.round(

在这行代码中,是否可以消除“浮点上下文中的整数除法”警告:

int num = 14;
int roundedValue = (Math.round(num / 10) * 10); 

一个解决办法是

int roundedValue = (num / 10) * 10; 
注意整数除法会截断,因此在上面的例子中,
Math.round
调用是多余的

另一方面,这可能不会给你期望的答案。另一种可能给出不同(但可能更正确)答案的方法是:

int roundedValue = Math.round(num / 10.0) * 10; 
(例如,对于
num=16
,您将看到不同的结果。)

换句话说,这个警告实际上可能指出了代码中的错误!如果警告告诉你一些重要的事情,那么发出警告“走开”是个坏主意



如果您确实需要使用Intellij抑制特定行上的警告;看见(使用IDE快捷方式意味着您不必知道特定于编译器的警告名称。)

一个解决方案是

int roundedValue = (num / 10) * 10; 
注意整数除法会截断,因此在上面的例子中,
Math.round
调用是多余的

另一方面,这可能不会给你期望的答案。另一种可能给出不同(但可能更正确)答案的方法是:

int roundedValue = Math.round(num / 10.0) * 10; 
(例如,对于
num=16
,您将看到不同的结果。)

换句话说,这个警告实际上可能指出了代码中的错误!如果警告告诉你一些重要的事情,那么发出警告“走开”是个坏主意



如果您确实需要使用Intellij抑制特定行上的警告;看见(使用IDE快捷方式意味着您不必知道编译器特定的警告名称。)

哪个Java编译器产生此警告?是不是
javac
?IDE的编译器?哪个IDE?它是一个Java 11(Project SDK设置为Java 11.0.5版)项目,在IntellijJava上哪个Java编译器产生此警告?是不是
javac
?IDE的编译器?哪个IDE?它是Intellij上的Java 11(Project SDK设置为Java 11.0.5版)项目