给出一个字符串,如果是回文则打印是,否则打印否

问题描述 投票:-3回答:2

import java.io。;导入java.util。;

公共类解决方案{

public static void main(String[] args) {

    Scanner sc=new Scanner(System.in);
    String A=sc.next();
    for (int i=0; i<A.length()/2; i++){
        if(A.charAt(i)==A.charAt(A.length()-i-1)){
        System.out.println("Yes");
        }
        else{
            System.out.println("No");            }
    }


}

}//请告诉我这段代码有什么问题

java palindrome
2个回答
0
投票

您正在为在字符串的另一端具有相同字符的每个字符打印“是”,否则为“否”。修改循环以返回一个布尔值,该布尔值指示String是否为回文,然后像下面这样在末尾打印它:

boolean isPalindrome = true;
for (int i=0; i<A.length()/2; i++){
    if(!A.charAt(i)==A.charAt(A.length()-i-1)){
    isPalindrome = false;            
    }
}

if(isPalindome){
    System.out.println("Yes");
} else {
    System.out.println("No");
}

0
投票

这里是您的原始代码略有修改。

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