Java 结合switch语句和for循环
我目前正在使用java GUI。现在我的问题是,如何以适当的方式将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;
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);
}