Java 编写程序以确定回文。我必须使用toUppercase和toLowercase使其不区分大小写

Java 编写程序以确定回文。我必须使用toUppercase和toLowercase使其不区分大小写,java,netbeans,Java,Netbeans,我觉得我只是少走了几步。我不是在找人来完成它。。只是需要正确方向的帮助 问题是它仍然说,例如,“中午”不是回文 我不知道如何进一步转换它 Scanner input = new Scanner(System.in); System.out.println("Please enter a string of 8 or less characters: "); String s = input.nextLine(); int low = 0; int high

我觉得我只是少走了几步。我不是在找人来完成它。。只是需要正确方向的帮助

问题是它仍然说,例如,“中午”不是回文

我不知道如何进一步转换它

Scanner input = new Scanner(System.in);

    System.out.println("Please enter a string of 8 or less characters: ");
    String s = input.nextLine();

    int low = 0;

    int high = s.length() - 1 ;

    boolean isPalindrome = true;

    while(low < high){
        if(s.charAt(low) !=s.charAt(high))
        {
            isPalindrome = false;
            break;
        }
    low++;
    high--;
} 

    String upper = s.toUpperCase(); 
    String lower = s.toLowerCase();  

    if(high>8)
    {
        System.out.println("Too Long!");
    }
    else if(isPalindrome)
    {
        System.out.println(s + " is a Palindrome");
    }
    else if((isPalindrome)&&s.toUpperCase().equals(s.toUpperCase()))
    {
        System.out.println(s + " is a Palindrome");
    }
    else
        System.out.println(s + " is not a Palindrome");
扫描仪输入=新扫描仪(System.in);
System.out.println(“请输入8个或更少字符的字符串:”;
字符串s=input.nextLine();
int低=0;
int高=s.长度()-1;
布尔值isAlindrome=true;
while(低<高){
如果(s.字符(低)!=s.字符(高))
{
isAlindrome=false;
打破
}
低++;
高--;
} 
字符串上限=s.toUpperCase();
String lower=s.toLowerCase();
如果(高>8)
{
System.out.println(“太长了!”);
}
else if(isPalindrome)
{
System.out.println(s+“是回文”);
}
else如果((isAlindrome)和&s.toUpperCase()。等于(s.toUpperCase())
{
System.out.println(s+“是回文”);
}
其他的
System.out.println(s+“不是回文”);

更改逻辑以检查如下字符,然后重试。 它将使它不区分大小写

 while(low < high){
            if(s.toUpperCase().charAt(low) != s.toUpperCase().charAt(high))
            {
                isPalindrome = false;
                break;
            }
        low++;
        high--;
    } 
while(低<高){
如果(s.toUpperCase().charAt(低)!=s.toUpperCase().charAt(高))
{
isAlindrome=false;
打破
}
低++;
高--;
} 
包javaprograme;
导入java.util.Scanner;
公共类回文字符串示例{
公共静态布尔回文(字符串名称)
{
char[]ch=name.toCharArray();
对于(int i=0,j=ch.length-1;i8)
{
System.out.println(“太长了!”);
}
其他的
{       
布尔值=回文;
s、 toUpperCase();
如果(!值)
{
System.out.println(“给定字符串不是回文”);
}
其他的
{
System.out.println(“给定的字符串是回文”);
}
}
}
}

如何帮助?--您尚未发布具体问题。为了帮助您改进上述问题,请查看。这是他那篇精彩的长篇博文的简略版本。编程的艺术就是把任务分解成具体的步骤。这就是只有练习(以本作业的形式)才能帮助您的地方,因为从这里开始,编写代码是最简单的部分。提示-当您在else if部分找到s.toUpperCase时,isPalindrome已经是false。您需要在检查每个字符时使用大写字母。
package javaprograme;

import java.util.Scanner;

public class PalindromStringExample {
    public static boolean palidrom(String name)
    {
        char[] ch = name.toCharArray();
        for(int i=0,j=ch.length-1; i<(ch.length/2); i++,j--)
        {
            if(ch[i]!=ch[j])
            {
                return false;
            }
        }
        return true;

    }

    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        String s = input.nextLine();
        if(s.length()>8)
        {
            System.out.println("Too Long!");
        }
        else 
        {       
            boolean value =palidrom(s);
            s.toUpperCase();
            if(!value)
            {
                System.out.println("Given String is not a palindrom");
            }
            else
            {
                System.out.println("Given String is a palindrom");
            }
        }
    }
}