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");
}
}
}
}