Java 回文程序
我正试图编写一个程序,它将输出从输入字符串中得到的回文数以及回文数。我不断地遇到很多错误,我仍在努力解决一些Java中比较难的问题 这里是我已经拥有的,一如既往,所有的答案都非常感谢Java 回文程序,java,palindrome,Java,Palindrome,我正试图编写一个程序,它将输出从输入字符串中得到的回文数以及回文数。我不断地遇到很多错误,我仍在努力解决一些Java中比较难的问题 这里是我已经拥有的,一如既往,所有的答案都非常感谢 public static boolean Palindrome(String text) { int index; int palindrome; System.out.println("Please enter your text "); text = EasyIn.getSt
public static boolean Palindrome(String text) {
int index;
int palindrome;
System.out.println("Please enter your text ");
text = EasyIn.getString();
for(index = 0; index < amount.length() / 2; index++) {
if(text.charAt(index) != text.charAt(text.length() - index - 1)) {
return false;
}
}
System.out.println("The number of valid palindrome(s) is " + amount);
amount = EasyIn.getString();
}
公共静态布尔回文(字符串文本){
整数指数;
int回文;
System.out.println(“请输入您的文本”);
text=EasyIn.getString();
对于(索引=0;索引
我认为问题在于amount.length()
,你应该使用text.length()
,因为你是在文本的一半上循环。算法运行良好。以下是一个简化的示例:
public static boolean palindrome(String text)
{
for (int index = 0; index < text.length() / 2; index++) {
if (text.charAt(index) != text.charAt(text.length() - index - 1)) {
return false;
}
}
return true;
}
公共静态布尔回文(字符串文本)
{
对于(int index=0;index
注意:
- 您忘记添加
return true
语句,如果不添加语句,则可能是for
循环完成,并且没有到达return
语句,这将导致错误
- 我建议您遵循Java命名约定。应该像
someMethodName
那样调用方法,而不是someMethodName
。最后一个用于类名
编辑:
正如@bobbel所评论的,您可以通过将text.length()
分配给一个变量并在for
中使用它来改进此代码。我认为问题在于amount.length()
,您应该使用text.length()
,因为您在文本的一半上循环。算法运行良好。以下是一个简化的示例:
public static boolean palindrome(String text)
{
for (int index = 0; index < text.length() / 2; index++) {
if (text.charAt(index) != text.charAt(text.length() - index - 1)) {
return false;
}
}
return true;
}
公共静态布尔回文(字符串文本)
{
对于(int index=0;index
注意:
- 您忘记添加
return true
语句,如果不添加语句,则可能是for
循环完成,并且没有到达return
语句,这将导致错误
- 我建议您遵循Java命名约定。应该像
someMethodName
那样调用方法,而不是someMethodName
。最后一个用于类名
编辑:
正如@bobbel所评论的,您可以通过将text.length()
分配给变量并在中使用它来改进此代码,因为可以有两件事:
使用的AMount变量可以是一个字符串数组,在该数组中维护字符串,如果是这种情况,则必须首先循环字符串数组,然后维护一个嵌套循环,以检查其中的字符串是否为回文
或者第二种情况是,您使用的变量不正确。它可能是文本而不是amount。可能有两种情况:
使用的AMount变量可以是一个字符串数组,在该数组中维护字符串,如果是这种情况,则必须首先循环字符串数组,然后维护一个嵌套循环,以检查其中的字符串是否为回文
或者第二种情况是您使用的变量不正确,它可能是文本而不是amountpublicstaticvoidmain(String[]args){
Scanner-in=新的扫描仪(System.in);
System.out.println(“输入字符串以检查回文”);
字符串original=in.next();
int start=0;
int middle=original.length()/2;
int end=original.length()-1;
int i;
对于(i=start;ipublicstaticvoidmain(String[]args){
Scanner-in=新的扫描仪(System.in);
System.out.println(“输入字符串以检查回文”);
字符串original=in.next();
int start=0;
int middle=original.length()/2;
int end=original.length()-1;
int i;
对于(i=start;i这是检查回文数的最简单方法
package testapi;
public class PalindromNumber {
public static void checkPalindrom(Object number) {
StringBuilder strNumber = new StringBuilder(number.toString());
String reverseNumber = strNumber.reverse().toString();
if (number.toString().equals(reverseNumber)) {
System.out.println(number + " is palindrom number");
} else {
System.out.println(number + " is not palindrom number");
}
}
public static void main(String[] args) {
checkPalindrom(101);
checkPalindrom(10.01);
checkPalindrom("aanaa");
}
}
这是检查回文数的最简单方法
package testapi;
public class PalindromNumber {
public static void checkPalindrom(Object number) {
StringBuilder strNumber = new StringBuilder(number.toString());
String reverseNumber = strNumber.reverse().toString();
if (number.toString().equals(reverseNumber)) {
System.out.println(number + " is palindrom number");
} else {
System.out.println(number + " is not palindrom number");
}
}
public static void main(String[] args) {
checkPalindrom(101);
checkPalindrom(10.01);
checkPalindrom("aanaa");
}
}
“我一直在犯很多错误”,这些错误会是什么?1)这与jaas有关吗?2)如果你不告诉我们你会犯什么错误,我们就帮不了你。你能解释一下你会犯哪些错误吗?另外,你能解释一下“有多少回文有效”是什么意思吗?我收到的错误似乎来自我的最后一行代码。请求一个标识符并添加“;”当已经有一个时?这是因为你没有在主方法中运行它,它似乎只是漂浮在那里。“我一直收到很多错误”它们会是什么错误呢?1)这与jaas有关吗?2)如果你不告诉我们你会遇到什么错误,我们就帮不了你。你能解释一下你会遇到什么错误吗?另外,你能解释一下“多少回文有效”是什么意思吗?我收到的错误似乎来自我的最后一行代码。当已经有一个标识符时,请求一个标识符并添加一个“;”?这是因为您没有在主方法中运行它,它似乎只是在那里浮动。这是一个很好的解决方案!但是,请拉出text.length()
调用一个变量,因此它不会在一个循环中被调用两次。这将改进代码!此外:为什么不在for循环中定义索引
变量:for(int index;…)
@bo