我已多次使用Google搜索,但作为一个新手,我完全不清楚如何将一个参数(一个int
变量)从我的一个方法传递到我的main方法中。我有一个方法getInput()
,它会返回int
,但我无法将其传递给main。我的构造函数和main方法如下
public Mainmenu9(int choice){
//constructor
System.out.println("Choice is :" + choice);
}
public static void main(String args[]){
Mainmenu9 team = new Mainmenu9(choice);
System.out.println("team :" + team.choice);
getInput();
} // end main method
我想将这个int变量传递给main方法的原因是因为我已阅读有关序列化的内容,我知道为了写入文件,我需要将int变量转换为对象。我的代码只能工作,如果我将int声明为静态类变量,但后来我丢失了返回值,int总是0,因为没有值且它尚未初始化。
我不是在寻找有人为我做这件事,只是指向正确的方向。
答案 0 :(得分:3)
你说这一切都错了。主要方法用于启动动作(即方法,构造函数等)。目标是使用main方法作为程序的入口点
如果要将参数传递给main方法,则需要使用命令行参数完成。
答案 1 :(得分:2)
从应用程序内部调用main
方法的唯一方法是unit testing
。
出于任何其他目的,仅使用它来接收来自command line
的参数。
答案 2 :(得分:1)
“main()”是程序的“开始”。
当您启动程序时,唯一调用“main()”的是您(通过操作系统)。
例如,这说明了“从命令行传递参数”:
public class MyClass {
public static void main (String[] args) {
System.out.println ("#/args=" + args.length);
for (String s:args) {
System.out.println ("next arg=" + s);
}
}
}
java MyClass< - No args
java MyClass a b c< - 将传递三个参数“a”,“b”然后“c”
在第二个示例中,您可以将“a”,“b”和/或“c”传递给“main()”可能实例化的任何对象。例如,“a”可能是“菜单”类中的“选择”。