如何减少我重复的代码

时间:2015-01-04 04:11:20

标签: java android

您好如何在一行中编写这几个代码

            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"; } 

4 个答案:

答案 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;