从同一个类中的另一个方法调用 main 方法
Posted
技术标签:
【中文标题】从同一个类中的另一个方法调用 main 方法【英文标题】:calling main method from another method in the same class 【发布时间】:2013-10-08 09:26:03 【问题描述】:如何调用main方法?
void prompt()
System.out.println("Do you want to continue?");
Scanner confirm = new Scanner(System.in);
String con = confirm.nextLine();
if (con == "y")
//call the main method once again.
当我使用 主要的(); 它要求“args”的值,但我不确定我应该在其中输入什么值。
【问题讨论】:
为什么要调用main
方法?而是在方法中拥有所需的功能并调用它。让main
进行大量计算是非常糟糕的做法
一句话——不要!这闻起来是一个非常糟糕的设计。您最好编写一个有意义的逻辑程序,并且没有这种奇怪和难闻的要求。为什么不使用 while 循环呢?另外,不要将字符串与==
进行比较。请改用equals(...)
方法。
@porfiriopartida:现在,当他返回递归堆栈溢出异常时,您将不得不帮助他。
@HovercraftFullOfEels 别担心,con == "y"
永远不会是真的.. 哦,但你告诉他如何通过那个条件。
感谢您的回答。我只是将代码转移到另一种方法。
【参考方案1】:
java 程序中的main()
方法接受一个字符串数组参数。
public static void main(String[] args)
如果您不在 main() 中使用变量 args
,您可以将 null 传递给它。否则,您需要将 String 数组传递给该方法。
但是,您不应该从应用程序内部调用main()
方法。 main()
方法应该用作应用程序的入口点,以启动程序,而不是用于递归执行该应用程序内的逻辑。如果你有再次需要的功能,你应该把它放在一个单独的方法中。
【讨论】:
【参考方案2】:main
方法的签名是:public static void main(String[] args)
main 方法接受一个参数:String 类型的元素数组。
public static void main(String[] args
)
此数组是运行时系统将信息传递给您的应用程序的机制。例如:
public static void main(String[] args)
System.out.println("args = " + args);
public static void prompt()
System.out.println("Do you want to continue?");
Scanner confirm = new Scanner(System.in);
String con = confirm.nextLine();
if (con == "y")
String[] args = <set string array>;
main(args);
更多详情,请看这个Oracle文档:The main Method
【讨论】:
以上是关于从同一个类中的另一个方法调用 main 方法的主要内容,如果未能解决你的问题,请参考以下文章