Java 有没有一种方法可以将用户输入存储在数组中并得到相反的结果?
我已经编写了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
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开始循环到