gpt4 book ai didi

java - 在 Java 中使用 switch 的问题

转载 作者:行者123 更新时间:2023-11-29 09:49:22 24 4
gpt4 key购买 nike

我不明白为什么它总是返回 arg1 的值。我正在构建一个重量转换器。

public double convert(double arg1,int arg2,int arg3) {
// arg1 = amount, arg2 = from, arg3 = to
double milligram = 1;
double gram = 1000;
double ounce = 28349.5;
double pound = 453592;
double answer = 0;
switch(arg2) {
case 0: switch(arg3) { // if milligram
case 0: answer = (arg1 * milligram) / milligram;
case 1: answer = (arg1 * milligram) / gram;
case 2: answer = (arg1 * milligram) / ounce;
case 3: answer = (arg1 * milligram) / pound;
}
case 1: switch(arg3) { // if gram
case 0: answer = (arg1 * gram) / milligram;
case 1: answer = (arg1 * gram) / gram;
case 2: answer = (arg1 * gram) / ounce;
case 3: answer = (arg1 * gram) / pound;
}
case 2: switch(arg3) { // if ounce
case 0: answer = (arg1 * ounce) / milligram;
case 1: answer = (arg1 * ounce) / gram;
case 2: answer = (arg1 * ounce) / ounce;
case 3: answer = (arg1 * ounce) / pound;
}
case 3: switch(arg3) { // if pound
case 0: answer = (arg1 * pound) / milligram;
case 1: answer = (arg1 * pound) / gram;
case 2: answer = (arg1 * pound) / ounce;
case 3: answer = (arg1 * pound) / pound;
}
} // end arg2 switch
return answer;
}

我的逻辑某处搞砸了,但我看不出是哪里。任何帮助将不胜感激。

最佳答案

您缺少 break 语句:

case 0: 
answer = (arg1 * milligram) / milligram;
break;
...

关于java - 在 Java 中使用 switch 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12762712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com