我觉得我只缺了几个步骤。我不是在找人来完成它…只是需要正确方向的帮助。
问题是它仍然说,例如,"Noon"不是一个回文。
我不确定如何进一步转换它。
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");
更改逻辑以检查如下所示的字符n try。它将使它不区分大小写。
while(low < high){
if(s.toUpperCase().charAt(low) != s.toUpperCase().charAt(high))
{
isPalindrome = false;
break;
}
low++;
high--;
}
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");
}
}
}
}