Java 回文程序调试

Java 回文程序调试,java,Java,这个问题已经解决了,但是我需要帮助为其中一段代码创建一个方法。如有任何意见,将不胜感激。我试着使用void方法,但没用。我已经强调了我希望代码成为方法的地方 import java.util.*; public class Finalpal { public Finalpal() { // TODO Auto-generated constructor stub } public static void main(String[] args) { Scanner scan = n

这个问题已经解决了,但是我需要帮助为其中一段代码创建一个方法。如有任何意见,将不胜感激。我试着使用void方法,但没用。我已经强调了我希望代码成为方法的地方

import java.util.*;
 public class Finalpal {

public Finalpal() {
    // TODO Auto-generated constructor stub
}

public static void main(String[] args) 
{
Scanner scan = new Scanner(System.in);

    String word;
    int len, counter = 0;

    System.out.println("Enter your word");
    word = scan.next();

    word = word.toUpperCase();

    len = word.length();

    char array[] = new char[len];
    char reverse[] = new char[len];

    for (int i=0; i < len; i++)
    {
        array[i] = word.charAt(i);
    }
    for (int j=len-1; j>=0; j--)
    {
        array[counter] = word.charAt(j);
        counter++;

    }

    // This part needs to be a method
    for (int k = 0; k < len; k++)
    {
        if (array[k] != reverse[k])
        {
            System.out.println("Not a palindrome");
            break;
        }
        if ((array[k] == reverse[k]) && (k == len -1))
        {
            System.out.println("It is a palindrome");
        }
    }

}

}

您没有填写反向数组

试一试


您没有填写反向数组

试一试


您使用了数组[counter]而不是反向[counter]。您从未填写过反向数组

您使用的是数组[counter]而不是反向[counter]。您从未填充过反向数组

有一种方法可以在不创建反向字符串以与原始字符串进行比较的情况下完成此操作

如果我知道字符串的长度,我可以做一个循环,检查两端的字符是否相同,然后向内移动:

[a] [乙][丙][乙][甲]

Loop 0: a = a
Loop 1: b = b
Loop 2: c = c
Result: Palindrome!
您需要的功能:

int len = String.length();
char c = String.charAt(int);

有一种方法可以做到这一点,而无需创建反向字符串来与原始字符串进行比较

如果我知道字符串的长度,我可以做一个循环,检查两端的字符是否相同,然后向内移动:

[a] [乙][丙][乙][甲]

Loop 0: a = a
Loop 1: b = b
Loop 2: c = c
Result: Palindrome!
您需要的功能:

int len = String.length();
char c = String.charAt(int);

谢谢更正ScaryCan您可以帮助我将此代码的一部分转换为方法。来吧,先自己尝试,从错误中学习。谢谢更正ScaryCan您可以帮助我将此代码的一部分转换为方法。来吧,先自己尝试,从错误中学习。