Java while循环查询[关闭]

问题描述 投票:-6回答:1

这个while代码工作正常,它是一个检查回文的程序。

public class Solution {
    public static boolean checkPalindrome(String str){
        int i=0;
        int j= str.length()-1;
        while(i<j)
        {
            if(str.charAt(i)!=str.charAt(j))
            {
                return false;
            }
            i++;
            j--;
        }
        return true;
    }
}

但是在这个版本中会发生什么,你期望输出是什么?

public class Solution {
    public static boolean checkPalindrome(String str){
        int i=0;
        int j= str.length()-1;
        while(i<j)
        {
          if(str.charAt(i)!=str.charAt(j))
          {
              return false;
          }
          else
          {
              return true;
          }
          i++;
          j--;
        }
    }
}
java algorithm loops methods condition
1个回答
1
投票

在第二个代码块中,首先检查第一个字符是否与最后一个字符相同。

如果不是,则返回false。

否则,返回true。

所以这不是一个有效的回文检查。它只检查第一个和最后一个字母是否相同,并忽略中间的字母。

© www.soinside.com 2019 - 2024. All rights reserved.