我想将多个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();
}
答案 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() + ", ");
}