Java 有没有一种方法可以将用户输入存储在数组中并得到相反的结果?

Java 有没有一种方法可以将用户输入存储在数组中并得到相反的结果?,java,arrays,Java,Arrays,我已经编写了java函数反转用户输入,但它不工作,我不知道问题出在哪里以及如何解决它 import java.util.Scanner; class Reverse{ public static void main(String args[]){ Scanner word = new Scanner(System.in); System.out.print("type the word here to check if it is palindrome: "); Str

我已经编写了java函数反转用户输入,但它不工作,我不知道问题出在哪里以及如何解决它

import java.util.Scanner;

class Reverse{
public static void main(String args[]){
    Scanner word = new Scanner(System.in);
    System.out.print("type the word here to check if it is palindrome: ");
    String n = word.nextLine();
    char[] let = n.toCharArray();
    System.out.print(revrse(i, let));
    // for (int i=let.length-1; i>=0; --i){
        // System.out.print(let[i]);
    // }

 }
 public static int reverse(char[] let){
    for (int i=let.length-1; i>=0; --i){
        return let[i];
    }  
 }

}
如何使此代码正常工作

首先你要使用

 System.out.print(revrse(i, let));
但是您定义了名为

int reverse(char[] let)
因此,在您发布的代码中不会调用reverse方法。 第二件事是,您的方法reversechar[]不返回反转的字符串,只返回与原始字符串的最后一个字符相对应的整数

用反向方法尝试以下代码:

    String str = "This is a try";
    char[] arr = str.toCharArray();
    char[] temp = new char[arr.length];

    for (int i = 0; i < arr.length; i++) {
        temp[i] = arr[arr.length - 1 - i];
    }
编辑

你应该试试这个:

class Reverse{
   public static void main(String args[]){
   Scanner word = new Scanner(System.in);
   System.out.print("type the word here to check if it is palindrome: ");
   String n = word.nextLine();
   char[] let = n.toCharArray();
   System.out.print(reverse(let));
   // for (int i=let.length-1; i>=0; --i){
      // System.out.print(let[i]);
   // }

 }
 public static char[] reverse(char[] let){
   char[] reversed = new char[let.length];
    for (int i = 0; i < let.length; i++) {
        reversed[i] = let[let.length - 1 - i];
    }
  return reversed;
 }  
}

您的reversechar[]let返回最后一个字母。您应该将字母附加到for循环中的字符串变量,并在循环后返回它

此外,您的代码中存在以下错误:

System.out.print(revrse(i, let));
方法参数和方法名称不匹配

忠告: 最好的方法可能是将输入字符串传递给

public static Stringreverse(String input) {
    String reversed = new String("");

    // do reversing in for loop here
    // ...

    return reversed;
}

方法并在其内部处理反转。这样,您的函数处理给定的任务,并且您的主函数保持干净。您可以在main函数中打印该方法的返回值。

revrse->查看如何调用该方法以及如何定义该方法1。你会编译代码吗?2.可以使用StringBuilder轻松反转字符串。此外,反转方法只返回字符数组中最后一个字符的序号,而不会反转。正如@Shail016所提到的,您可以使用新的StringBuildern.reverse.toString.抱歉,我是初学者,我不完全理解您的建议,您能否对您的建议进行更深入的解释?如果您只需要检查字符串是否为回文,为什么要反转它。只需取一个变量,将其初始化为i=0,第二个变量`将其初始化为j=let.length-1,从0开始循环到