如何修复范围变量?

时间:2014-10-25 15:29:11

标签: java

这是我的代码:


import java.util.Scanner;

public class newCode {

    public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);
    String stored = scan.nextLine();

    print();

    }

    public static void print() {

        System.out.println(stored);

    }

}

我正在使用eclipse,我想知道为什么我不能这样做,我知道它超出了范围或者其他什么,但是如果不将我的sysout语句放在我的main函数中,我怎么能让它工作。

2 个答案:

答案 0 :(得分:0)

您可以随时将值传递给print方法:

// inside of main:
print(stored);

public static void print(String stored) {
    System.out.println(stored);
}

你必须按照你的描述去做; stored内的main超出了范围。如果没有通知您想要使用的另一种方法,就无法访​​问它。

答案 1 :(得分:0)

您可以在班级声明stored

  public class newCode {
    static String stored; // You have to declare it static to access directly it in static method or you can also use newCode object if it is not static
    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        stored = scan.nextLine();

        print();

    }