我遇到的问题是代码中断的地方。我已经注释掉了各个部分,看看它在哪里打破,似乎无法找到它。现在发生的是,一旦调用了stringMethod,for循环就什么都不做,而b从不使用。我不确定为什么a没有从我的方法中保持相同的值。任何帮助都表示赞赏,如果我不清楚某事,请问。
import java.util.Scanner;
public class TestTwoClassMain {
static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
String j = "", b = "", c = "", a = "";
do {
stringMethod();
for (int i = j.length() - 1; i >= 0; i--)
b = b + a.charAt(i);
//the above 'a' is not holding any value for the sentence entered in method
System.out.println("Reverse: " + b);
System.out.print("Try Again? ");
c = input.nextLine();
} while (c.equalsIgnoreCase("YES"));
}
public static String stringMethod() {
String a = "";
System.out.print("Enter: ");
a = input.nextLine();
return a;
}
}
答案 0 :(得分:2)
您需要将a
变量分配给stringMethod()
a = stringMethod()
您需要执行此操作,因为您已在main方法的范围内声明a
,而不是在类的范围内声明它。