java基本字符串反转器
我的字符串反向代码有一个小问题,我似乎无法修复它。我已经做了一种不同的工作方式,包括for循环,而且似乎工作得很好。但是,当我运行这段代码时,它总是在反转的字符串之前给我一个“null”。例如,当我运行此命令并输入“StackOverflow”时,我得到一个null wolfrevOkcatS(没有空格)的输出。我不明白为什么会发生这样的错误,所以我还添加了一个“null”检查器,它似乎不起作用。对于这个null检查器,我将字符转换为Ascii值,然后将其放入反向字符串中,然后检查它是否为0。(null的Ascii值)然而,这似乎不起作用,所以我做了一些研究,并没有发现任何关于溢出,所以决定问这个问题。抱歉,如果这是一个非常“愚蠢”的问题,请提前道歉,因为我对java非常陌生,不知道该问谁
提前感谢,,
-Java程序员新手
import java.util.Scanner;
public class StringReverser
{
static String input, reversed;
int i;
public static void main(String[] args)
{
StringReverser ansh = new StringReverser();
ansh.grab();
ansh.reverse(input);
}
public void grab()
{
System.out.println("Enter a word to be reversed: ");
Scanner kys = new Scanner(System.in);
input = kys.next();
i = input.length();
}
public void reverse(String word)
{
if(i == 0)
{
System.out.println(reversed);
}
else
{
//if((int)(word.charAt(i-1)) == 0)
//{i--; reverse(input);}
reversed+=word.charAt(i-1);
i--; reverse(input);
}
}
}
# 1 楼答案
这是因为默认情况下
reserved
被初始化为null