尝试重新运行Java中的类

时间:2019-02-21 12:21:39

标签: java

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

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);
}   
}

1 个答案:

答案 0 :(得分:0)

通过“运行类”,您似乎想再次运行main方法。即使我不建议这样做,您当前的问题也可以解决。

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

替换

main;

使用

main(new String[0]);

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