Java 结合switch语句和for循环

Java 结合switch语句和for循环,java,user-interface,switch-statement,Java,User Interface,Switch Statement,我目前正在使用java GUI。现在我的问题是,如何以适当的方式将switch语句与for循环结合起来。当前的方法是可行的,但它需要大量的时间来键入语句 public void labelSwitchCase(int i, int userInput) { // switch case on i switch (i) { case 0: gridLabels[i].setText("" + userInput); break;

我目前正在使用java GUI。现在我的问题是,如何以适当的方式将switch语句与for循环结合起来。当前的方法是可行的,但它需要大量的时间来键入语句

public void labelSwitchCase(int i, int userInput) {
    // switch case on i
    switch (i) {

        case 0:  gridLabels[i].setText("" + userInput);
        break;

        case 1: gridLabels[i].setText("" + userInput);
        break;  

        case 2: gridLabels[i].setText("" + userInput);
        break;  

        case 3: gridLabels[i].setText("" + userInput);
        break;  

        case 4: gridLabels[i].setText("" + userInput);
        break;  

        case 5: gridLabels[i].setText("" + userInput);
        break;  

        case 6: gridLabels[i].setText("" + userInput);
        break;      

        case 7: gridLabels[i].setText("" + userInput);
        break;      

        case 8: gridLabels[i].setText("" + userInput);
        break;      
        // no defoult               
    }
}
只需使用:

public void labelSwitchCase(int i, int userInput) {
    gridLabels[i].setText("" + userInput);     
}
使用此选项(注意字符串.valueof):


你的方法应该是:

public void labelSwitchCase(int i, int userInput) {
    gridLabels[i].setText("" + userInput);
}

不需要
循环。

在所有切换条件下,您都在做相同的事情

gridLabels[i].setText("" + userInput);
所以,您不必对所有情况都使用switch语句

您只需将函数中的文本设置为

public void labelSwitchCase(int i, int userInput) 
{     
gridLabels[i].setText("" + userInput);   
}

这个switch语句的意义是什么?在每种情况下,你总是在做同样的事情。什么是“当前方式”,它有什么问题?您所展示的是一个开关,它在0-8个案例中执行相同的操作。(如果这是您的意图,可以更简单地重写。)听起来像是
public void labelSwitchCase(int i, int userInput) 
{     
gridLabels[i].setText("" + userInput);   
}