float 和 int 之间的除法不会编译
Division between float and int won't compile
首先,我对 Java 还是很陌生,如果解决方案很明显,请原谅。
我编写的代码应该将特定数字范围内的每个第二个数字(在本例中为 -5 到 20)除以一个浮点数,但 Java 无法编译。
public class exerciseD {
static float Division (float r) {
int n = (-5);
float x = 0;
if (n <= 20) {
float x = n * r;
System.out.println(x);
n = n + 2;
}
else
return x;
}
public static void main(String[ ] args) {
float y = Divison(22.5);
System.out.println(y);
}
}
错误信息:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method Divison(double) is undefined for the type exerciseD
at exerciseD.main(exerciseD.java:45)
我在这段代码中做错了什么?我只是不知道 double 的问题是什么。每个变量要么是 float 要么是 int 不是吗?
谢谢。
好吧,您有多个错误,第一个是在 if 语句中,您正在定义另一个 X 变量,该变量已在上面定义。
第二个错误是方法名称是 Division 而不是 Divison
第三个错误你不能将 double 作为参数传递给 float 变量,因为
你叫 Division(22.5)
它应该是 Division(22.5F) 以表明它是浮点数,否则它将作为 double 传递,这将是 不兼容的类型可能的有损转换从 double 到 float
第四个错误是您在 if 块
处缺少 Division 方法的 return 语句
首先,我对 Java 还是很陌生,如果解决方案很明显,请原谅。
我编写的代码应该将特定数字范围内的每个第二个数字(在本例中为 -5 到 20)除以一个浮点数,但 Java 无法编译。
public class exerciseD {
static float Division (float r) {
int n = (-5);
float x = 0;
if (n <= 20) {
float x = n * r;
System.out.println(x);
n = n + 2;
}
else
return x;
}
public static void main(String[ ] args) {
float y = Divison(22.5);
System.out.println(y);
}
}
错误信息:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method Divison(double) is undefined for the type exerciseD
at exerciseD.main(exerciseD.java:45)
我在这段代码中做错了什么?我只是不知道 double 的问题是什么。每个变量要么是 float 要么是 int 不是吗?
谢谢。
好吧,您有多个错误,第一个是在 if 语句中,您正在定义另一个 X 变量,该变量已在上面定义。 第二个错误是方法名称是 Division 而不是 Divison
第三个错误你不能将 double 作为参数传递给 float 变量,因为
你叫 Division(22.5)
它应该是 Division(22.5F) 以表明它是浮点数,否则它将作为 double 传递,这将是 不兼容的类型可能的有损转换从 double 到 float
第四个错误是您在 if 块
处缺少 Division 方法的 return 语句