我是编程和学习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();
}
}
答案 0 :(得分:0)
月份范围是函数public static int month()
的本地范围,但您尝试在public static void diplayData()
中使用它。你应该在月份函数之外声明月份变量,并且与年份变量相同,那两个带有错误的注释行将不再存在。
答案 1 :(得分:0)
因为您的字段month
和year
仅在您调用的方法中可用。
请添加类字段,例如:
public class test{
private int year =0;
private int month =0;
(..)
}
如果您想要一些解释,请参阅例如。这post
答案 2 :(得分:0)
您可以将它们设为类变量,也可以将它们设置为公共变量。