如何返回在 switch 语句中找到的值 Java

Fyr*_*ree 5 java double user-input return switch-statement

我如何将在此 switch 语句中找到的值返回给类的其余部分以供使用(我想在该 switch 语句之外使用 oneTotal、twoTotal 等)?下面是 switch 语句的代码:

        switch(itemNo){
        case 1:
            double oneTotal = 2.98 * userQuantity;
            return oneTotal;
        case 2:
            double twoTotal = 4.50 * userQuantity;
            return twoTotal;
        case 3:
            double threeTotal = 9.98 * userQuantity;
            return threeTotal;
        case 4:
            double fourTotal = 4.49 * userQuantity;
            return fourTotal;
        case 5:
            double fiveTotal = 6.87 * userQuantity;
            return fiveTotal;
        }
Run Code Online (Sandbox Code Playgroud)

在 switch 语句的外面,我希望一旦用户停止使用 switch 语句(我在 while 循环中使用它)就将 FiveTotal 添加到一起,然后希望返回五个总计以在 main 方法中使用类(switch 语句位于其自己的双精度、非 void 类中,因此它可以返回值)。

Gui*_* F. 11

在 Java 14 上,您可以使用

double total = switch(itemNo){
        case 1 -> 2.98 * userQuantity;
        case 2 -> 4.50 * userQuantity;
        case 3 -> 9.98 * userQuantity;
        case 4 -> 4.49 * userQuantity;
        case 5 -> 6.87 * userQuantity;
        };
Run Code Online (Sandbox Code Playgroud)


Her*_*ker 0

    double returnValue;
    switch(itemNo){
    case 1:
        double oneTotal = 2.98 * userQuantity;
        returnValue = oneTotal;
        break;
    case 2:
        double twoTotal = 4.50 * userQuantity;
        returnValue = twoTotal;
        break;
    case 3:
        double threeTotal = 9.98 * userQuantity;
        returnValue = threeTotal;
        break;
    case 4:
        double fourTotal = 4.49 * userQuantity;
        returnValue = fourTotal;
        break;
    case 5:
        double fiveTotal = 6.87 * userQuantity;
        returnValue = fiveTotal;
        break;
    }
    return returnValue; 
Run Code Online (Sandbox Code Playgroud)

或者

    double factor;
    switch(itemNo){
    case 1:
        factor = 2.98;
        break;
    case 2:
        factor = 4.50;
        break;
    case 3:
        factor = 9.98;
        break;
    case 4:
        factor = 4.49;
        break;
    case 5:
        factor = 6.87;
        break;
    }
    return factor * userQuantity;
Run Code Online (Sandbox Code Playgroud)

并且不要忘记默认分支。至少抛出一个异常。

或者

double[] myItemValues= {2.98, 4.5, 9.98, 4.49, 6.87};
return myItemValue[itemNo];
Run Code Online (Sandbox Code Playgroud)