Java 从同一类中的另一个方法调用main方法

Java 从同一类中的另一个方法调用main方法,java,methods,main,Java,Methods,Main,如何调用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. } } 当我使用 main(); 它要求“args”的值,但我不确定应该在

如何调用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.
}
}
当我使用 main(); 它要求“args”的值,但我不确定应该在其中输入什么值。

java程序中的
main()
方法采用字符串数组参数

public static void main(String[] args) {} 
如果不在main()的内部使用变量
args
,可以将null传递给它。否则,需要将字符串数组传递给该方法


但是,您不应该从应用程序内部调用
main()
方法。
main()
方法应该用作应用程序的入口点,以启动程序,而不是用于递归执行该应用程序内的逻辑。如果您有再次需要的功能,您应该将其放在一个单独的方法中。

main方法的签名是:
publicstaticvoidmain(String[]args)

main方法接受一个参数:String类型的元素数组

公共静态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);

    }

}
publicstaticvoidmain(字符串[]args){
System.out.println(“args=“+args”);
}
公共静态void提示符(){
System.out.println(“您想继续吗?”);
扫描仪确认=新扫描仪(System.in);
字符串con=confirm.nextLine();
如果(con=“y”){
字符串[]args={};
main(args);
}
}

有关更多详细信息,请参阅此Oracle文档:

为什么要调用
main
方法?相反,在方法中具有所需的功能并调用它。让
main
在一个词中进行大量计算是非常糟糕的做法——不要!那设计很糟糕。您最好编写一个逻辑程序,它有意义,并且没有这种奇怪和难闻的要求。为什么不使用while循环呢?另外,不要将字符串与
==
进行比较。请改用
equals(…)
方法。@porfiriopartida:现在,当他返回递归堆栈溢出异常时,您必须帮助他。@HovercraftFullOfEels别担心,
con==“y”
永远不会为真。。哦,但是你告诉他如何通过那个条件。谢谢你的回答。我将把代码转移到另一个方法。