double runde(double x, int n) {
if (n < 0) {
throw new IllegalArgumentException("Anzahl der Nachkommastellen darf nicht negativ sein.");
return 0.0 ; }
if (n==x) {/* Ist n=x? Wenn ja, dann nicht runden*/
return x ; } /* X dementsprechend als Rückgabewert */
if (n>0) {/* Test ob n größer null ist*/
return Math.round(x*Math.pow(10,n))/Math.pow(10,n) ; }}
嘿,我不明白为什么 return 0.0 应该是一个无法访问的语句。 我尝试构建一种将数字四舍五入到给定小数位的方法。
此外还应该缺少返回语句。
感谢您的帮助!
最佳答案
如果您的方法引发异常,它也无法返回值。
您必须选择是否抛出异常:
if (n < 0) {
throw new IllegalArgumentException("Anzahl der Nachkommastellen darf nicht negativ sein.");
}
或返回0.0
:
if (n < 0) {
return 0.0 ;
}
但你不能两者兼得。
并且您必须有一个最终的返回声明,以防您的条件都不成立。添加 return 语句作为该方法的最终语句。
关于java - Java 无法到达 if 条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48061387/