如何将几个IF转换为一个LOOP

时间:2018-10-28 22:35:09

标签: java android

我想将多个IF语句转换为一个LOOP。

你能告诉我有可能吗,我该怎么做?

                    if (howManyTimes == 2) {
                        allHours = setTime1.getText().toString() + ", " +
                                setTime2.getText().toString();
                    } else if (howManyTimes == 3) {
                        allHours = setTime1.getText().toString() + ", " +
                                setTime2.getText().toString() + ", " +
                                setTime3.getText().toString();
                    } else if (howManyTimes == 4) {
                        allHours = setTime1.getText().toString() + ", " +
                                setTime2.getText().toString() + ", " +
                                setTime3.getText().toString() + ", " +
                                setTime4.getText().toString();
                    } else if (howManyTimes == 5) {
                        allHours = setTime1.getText().toString() + ", " +
                                setTime2.getText().toString() + ", " +
                                setTime3.getText().toString() + ", " +
                                setTime4.getText().toString() + ", " +
                                setTime5.getText().toString();
                    } else if (howManyTimes == 6) {
                        allHours = setTime1.getText().toString() + ", " +
                                setTime2.getText().toString() + ", " +
                                setTime3.getText().toString() + ", " +
                                setTime4.getText().toString() + ", " +
                                setTime5.getText().toString() + ", " +
                                setTime6.getText().toString();
                    }

1 个答案:

答案 0 :(得分:1)

如果您可以将所有的setTimeN对象添加到一个数组中,则可以这样:

lst = lst[:-value]

您还可以使用foreach变体:

ArrayList<TextView> array = new ArrayList<>();
array.add(setTime1);
array.add(setTime2);
//Add all your setTime files

StringBuilder sb = new StringBuilder();

for (int i = 0; i < howmanytimes-1; i++) {
     sb.append(array.get(i).getText().toString() + ", ");
}

sb.append(array.get(howmanytimes-1).getText().toString();

String allHours = sb.toString();

在这种情况下,您必须删除最后一个for (TextView t: array) { sb.append(t.getText().toString() + ", "); }