您好如何在一行中编写这几个代码
if (stimee.getText().toString().equals("0")) {stimevar="00"; }
if (stimee.getText().toString().equals("1")) {stimevar="01"; }
if (stimee.getText().toString().equals("2")) {stimevar="02"; }
if (stimee.getText().toString().equals("3")) {stimevar="03"; }
if (stimee.getText().toString().equals("4")) {stimevar="04"; }
if (stimee.getText().toString().equals("5")) {stimevar="05"; }
if (stimee.getText().toString().equals("6")) {stimevar="06"; }
if (stimee.getText().toString().equals("7")) {stimevar="07"; }
if (stimee.getText().toString().equals("8")) {stimevar="08"; }
if (stimee.getText().toString().equals("9")) {stimevar="09"; }
答案 0 :(得分:2)
你真正需要的是:
stimevar="0"+stimee.getText().toString();
因为我在你的问题中没有看到else条款,所以这必须解决你的问题。
答案 1 :(得分:0)
您可以使用Map
存储值,然后设置变量。
Map<String, String> map = new HashMap<>();
map.put("0", "00");
map.put("0", "01");
...
map.put("9", "09");
stimevar = map.get(stimee.getText().toString());
答案 2 :(得分:0)
// parse input value as integer
int value = Integer.parseInt(stimee.getText().toString());
// check input for values from 0 to 9
for (int i = 0; i < 10; i ++) {
// if found a match
if (value == i) {
// set variable
stimevar = String.format("%02d", i);
// and stop checking
break;
}
}
编辑:感谢@Tom指出只预先解析字符串一次会更有效。
答案 3 :(得分:0)
String str = stimee.getText().toString();
for (int i = 0; i <= 9; i++)
if (("" + i).equals(str))
stimevar = "0" + i;