Closed. This question needs debugging details。它当前不接受答案。












想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。

4年前关闭。





我不确定我在哪里错了,有人可以帮帮我。

给定一个3位数的正整数,如果恰好2位数相同,则返回true。

match2(414)→是
match2(555)→否
match2(120)→否

boolean match2(int num) {
  String numBer = num +"";
  char first, second, third;
  first = numBer.charAt(0);
  second = numBer.charAt(1);
  third = numBer.charAt(2);

  if (first == second && second != third) {
  return true;
  }

  else if (second == third && first != second) {
  return true;
  }

  else if (first == third && second != third){
  return true;
  }
  return false;
}

最佳答案

if (first == second || first == third)
  return true;


该条件为真,因此此时立即返回true,而无需等待以后的if条件是否返回false。您将需要将支票放到不同的顺序。

07-24 12:47