从不同的方法调用变量

时间:2017-11-21 18:52:51

标签: java variables methods

我是编程和学习Java的新手。我在网上做了很多研究,但却无法找到答案。 我必须使用多个方法创建一个代码来返回一个值。

我知道我可以使用variable()调用该方法,但这样做会要求用户再次输入值。我不想那样做。

我附上了一个我想要做的超级简单的例子。 谢谢你,希望我的问题很明确。

public class test
{
    public static void welcomeMes(){
        System.out.println("welcome message");
        // does not return anything
    }

    public static int year(){
        int year;
        year = in.nextInt();
        return year;
    }

    public static int month(){
        int month;
        month = in.nextInt();
        return month;
    }

    public static void diplayData(){
       System.out.printf ("month is " + month); // error cannot find symbol
       System.out.printf ("year is " + year); // error cannot find symbol
    }

    public static void main (String [] args){
        welcomeMes();
        year();
        month();
        diplayData();
    }
}

3 个答案:

答案 0 :(得分:0)

月份范围是函数public static int month()的本地范围,但您尝试在public static void diplayData()中使用它。你应该在月份函数之外声明月份变量,并且与年份变量相同,那两个带有错误的注释行将不再存在。

答案 1 :(得分:0)

因为您的字段monthyear仅在您调用的方法中可用。 请添加类字段,例如:

public class test{

  private int year =0;
  private int month =0;
    (..)

}

如果您想要一些解释,请参阅例如。这post

答案 2 :(得分:0)

您可以将它们设为类变量,也可以将它们设置为公共变量。