将参数传递给Java

时间:2015-08-06 16:42:05

标签: java

我已多次使用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,因为没有值且它尚未初始化。

我不是在寻找有人为我做这件事,只是指向正确的方向。

3 个答案:

答案 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”可能是“菜单”类中的“选择”。