我可以在switch语句中放置一个return语句

Col*_*107 10 java methods return switch-statement

我是否可以switch发表声明,决定返回什么?例如,我想根据我的想法返回不同的东西return.Eclipse给了我一个错误,希望我把switch声明放在外面switch.不确定要搜索什么,如果这是重复,请对不起.这是我的代码:

public String wordBank() { //Error here saying: "This method must return a type of string"
    String[] wordsShapes = new String[10];
    wordsShapes[1] = "square";
    wordsShapes[2] = "circle";
    wordsShapes[3] = "cone";
    wordsShapes[4] = "prisim";
    wordsShapes[5] = "cube";
    wordsShapes[6] = "cylinder";
    wordsShapes[7] = "triangle";
    wordsShapes[8] = "star";
    wordsShapes[9] = "moon";
    wordsShapes[10] = "paralellogram";

    Random rand = new Random();
    int i = rand.nextInt(11);

    if (i == 0) {
        i = rand.nextInt(11);
    }

    switch (i) {
    case 1:
        return wordsShapes[1].toString();
    case 2:
        return wordsShapes[2].toString();
    case 3:
        return wordsShapes[3].toString();
    case 4:
        return wordsShapes[4].toString();
    case 5:
        return wordsShapes[5].toString();
    case 6:
        return wordsShapes[6].toString();
    case 7:
        return wordsShapes[7].toString();
    case 8:
        return wordsShapes[8].toString();
    case 9:
        return wordsShapes[9].toString();
    case 10:
        return wordsShapes[10].toString();
    }
}
Run Code Online (Sandbox Code Playgroud)

Ram*_*ujo 9

对不起,但在这种情况下,为什么不只是这样做:

return wordsShapes[i].toString();
Run Code Online (Sandbox Code Playgroud)

这样你可以避免开关和所有.

希望有所帮助,


fas*_*ava 5

可以放在return里面,switchswitch在这种情况下不需要使用。