尝试在java中重新运行类

尝试在java中重新运行类,java,Java,我最近在这里发布了一个问题,但我不够具体,所以我将代码缩减到最低限度。我试图使用joption窗格要求用户重新运行程序,但它只运行一次,或者我收到错误“FahrenheitToCelcius类中的方法main无法应用于给定类型”我不知道在rerun while语句中为main添加什么 public class FahrenheitToCelcius { public static void main(String[] args) { FahCel conv

我最近在这里发布了一个问题,但我不够具体,所以我将代码缩减到最低限度。我试图使用joption窗格要求用户重新运行程序,但它只运行一次,或者我收到错误“FahrenheitToCelcius类中的方法main无法应用于给定类型”我不知道在rerun while语句中为main添加什么

public class FahrenheitToCelcius
{   
public static void main(String[] args)
    {        
    FahCel conv = new FahCel();
    conv.setFahren();
    conv.getCel();
    Rerun();
    System.exit(0);       
    } 
    public static void Rerun()  
    {
    int answer;
    answer = 0;
    answer = JOptionPane.showConfirmDialog(null, 
            "Click 'yes' to run again or 'no' to exit",
            "Rerun Program?",
            JOptionPane.INFORMATION_MESSAGE);
    while (answer == 0) 
            {
                main;
                answer = JOptionPane.showConfirmDialog(null, 
            "Click 'yes' to run again or 'no' to exit",
            "Rerun Program?",
            JOptionPane.INFORMATION_MESSAGE);
            }        
      }
   }
班级呢

import java.util.Scanner;
public class FahCel 
{
Scanner keyboard = new Scanner(System.in);
private double Fahr;
private double FinalC;

public void setFahren()
{
    System.out.println("Total number of degrees in Fahrenheit to be Converted into Celcius?");
    Fahr = keyboard.nextInt();
}
public void getCel()
{
    FinalC = 5/9.0*(Fahr-32);
    System.out.println("Temperature in Celcius is: " + FinalC);
}   
}
通过“重新运行类”,您似乎希望再次运行
main
方法。尽管我不建议你这么做,但你目前的问题是可以解决的

您尝试调用
main
,但没有传递方法所需的必要参数,即
字符串[]

替换

main;


然后你可以“重新运行你的课程”。但我怀疑这是你真正想要的。

你认为这句话的主旨是什么是否以及为什么在代码中?该行导致编译错误。您不应尝试使用类似的
main()
方法。最好有自己的“main”,但名称不同。在主题之外,您不需要在
main()
System.exit(0)的末尾调用
System.exit()
;将退出JVM,从而退出与JVM@TungstenX这与这个问题有什么关系?@ehlert5290我建议你重构你的代码,这样你就不需要调用
main
。这当然可以通过
main
中的while循环来完成。
main(new String[0]);