为什么我的返回值没有在我的main方法中保存值?

时间:2015-09-03 02:51:26

标签: java return-value

我遇到的问题是代码中断的地方。我已经注释掉了各个部分,看看它在哪里打破,似乎无法找到它。现在发生的是,一旦调用了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;
}

}

1 个答案:

答案 0 :(得分:2)

您需要将a变量分配给stringMethod()

的输出
a = stringMethod()

您需要执行此操作,因为您已在main方法的范围内声明a,而不是在类的范围内声明它。