Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 回文程序_Java_Palindrome - Fatal编程技术网

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

我正试图编写一个程序,它将输出从输入字符串中得到的回文数以及回文数。我不断地遇到很多错误,我仍在努力解决一些Java中比较难的问题

这里是我已经拥有的,一如既往,所有的答案都非常感谢

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变量可以是一个字符串数组,在该数组中维护字符串,如果是这种情况,则必须首先循环字符串数组,然后维护一个嵌套循环,以检查其中的字符串是否为回文

或者第二种情况是您使用的变量不正确,它可能是文本而不是amount

publicstaticvoidmain(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