Too many 'if' statements?

前端 未结 26 1187
天涯浪人
天涯浪人 2020-11-30 16:24

The following code does work how I need it to, but it\'s ugly, excessive or a number of other things. I\'ve looked at formulas and attempted to write a few solutions, but I

26条回答
  •  刺人心
    刺人心 (楼主)
    2020-11-30 17:02

    Since you prefer nested if conditionals , here's another way.
    Note that it doesn't use the result member and it doesn't change any state.

    public int fightMath(int one, int two) {
        if (one == 0) {
          if (two == 0) { return 0; }
          if (two == 1) { return 0; }
          if (two == 2) { return 1; }
          if (two == 3) { return 2; }
        }   
        if (one == 1) {
          if (two == 0) { return 0; }
          if (two == 1) { return 0; }
          if (two == 2) { return 2; }
          if (two == 3) { return 1; }
        }
        if (one == 2) {
          if (two == 0) { return 2; }
          if (two == 1) { return 1; }
          if (two == 2) { return 3; }
          if (two == 3) { return 3; }
        }
        if (one == 3) {
          if (two == 0) { return 1; }
          if (two == 1) { return 2; }
          if (two == 2) { return 3; }
          if (two == 3) { return 3; }
        }
        return DEFAULT_RESULT;
    }
    

提交回复
热议问题