即使数组不是回文,回文运动也会返回true?

时间:2019-03-28 03:02:53

标签: java

该阵列说明了雷达。例如,如果我将最后一个字母(r)更改为k,则表示数组仍是回文,但不是。我已经尝试修复了几个小时。有什么建议吗?

char a1[] = {'R', 'A', 'D', 'A', 'K'};
boolean response = false;
for (int i = 0; i < a1.length / 2; i++)
{
  if (a1[i] == a1[a1.length - 1 - i])
  {
    response = true;
  }
  else
  {
    response = false;
  }
}
System.out.println(response);

3 个答案:

答案 0 :(得分:3)

您只需要在break中使用else,否则在下一次迭代中,response再次变为true

else {
    response = false;
    break;
}

答案 1 :(得分:3)

我们可以说,即使一次相等性检查失败,该数组也不是回文。
因此,您只需要在此之后中断循环。

char a1[] = {'R', 'A', 'D', 'A', 'K'};
boolean response = true;
for (int i = 0; i < a1.length / 2; i++)
{
  if (a1[i] != a1[a1.length - 1 - i])
  {
    response = false;
    break;
  }
}
System.out.println(response);

答案 2 :(得分:0)

如果您改为使用嵌套循环,则容易得多

self.co3.reject()