我有以下方法:
private static double mailTypeOne(double oz) {
double total;
if (oz <= 16) {
total = 3.50;
} else if (oz > 16 && oz <= 32) {
total = 3.95;
} else if (oz > 32) {
total = 3.95 + (Math.ceil((oz - 32) / 16) * 1.20);
}
return total;
}
当编译我的代码时,我得到这个编译错误:< code >变量' total '可能没有初始化
我的代码的哪一部分触发了错误?
if-else语句应以else语句结尾,这可确保变量<code>total<code>必须初始化,无论<code>oz<code>的值是多少
另一种方法是在声明期间将 total
初始化为 0.0。也就是说,代替双倍总计;
做双倍总计 = 0.0;
声明与初始化不同。只需说
double total = 0;
您的else if不一定要遵循(编译器)。你需要这样的东西
private static double mailTypeOne(double oz) {
double total;
if (oz <= 16) {
total = 3.50;
} else if (oz <= 32) {
total = 3.95;
} else {
total = 3.95 + (Math.ceil((oz-32)/16) * 1.20);
}
return total;
}
你也可以把上面的简化成
private static double mailTypeOne(double oz) {
if (oz <= 16) {
return 3.50;
} else if (oz <= 32) {
return 3.95;
}
return 3.95 + (Math.ceil((oz-32)/16) * 1.20);
}
问题内容: 我的Java程序中出现以下错误: Java变量未初始化错误…错误:变量nam和r未初始化位置类子级 但是并且已经初始化,但是我仍然遇到相同的错误。 问题答案: 不要获取 默认值 ,应在使用它们之前对其进行初始化,并使用main中的默认值进行初始化,这样就可以了。 顺便说一句,考虑为您的类和变量命名是有意义的。
我有以下Java代码: 但是,当我运行它时,它会抛出以下错误: 我在do之前初始化了变量。while 循环,并在 try. 中设置值。捕获循环。似乎尚未设置该变量。抱歉,如果这是一个相当基本的问题,但我似乎无法弄清楚。
我不知道这段代码有什么问题,也不知道为什么会出现错误: 变量isPrime可能尚未初始化 这是完整的代码:
问题内容: 当我尝试编译时: 我得到这些错误: 在我看来,我在方法的顶部初始化了它们。怎么了 问题答案: 你声明了它们,但没有初始化它们。初始化它们是将它们设置为等于一个值: 因为未初始化变量,但在循环中增加了变量(例如),因此会收到错误消息。 Java原语具有默认值,但如下一位用户所述 当声明为类成员时,它们的默认值为零。局部变量没有默认值
我试图创建一个方法来计算数组分数中所有元素的总和。当我编译它的时候,我得到了一个“变量可能没有被初始化的错误”,即使我已经在方法中声明了它
问题内容: 以下代码段使我在第1行出现了编译器错误。 据我了解,float用于十进制变量。 我是否遗漏了明显的东西,还是应该始终对小数变量初始化使用强制转换? 编辑:我知道’f’可以在末尾用于浮点变量,但这是强制性的吗? 问题答案: 除非您指定浮点文字只是s,否则它们将被视为s。(类似地,除非另有说明,否则整数文字是s。)将字母追加到数字上使其成为a : JLS具有用于文字值的全面输入规则。不,你