我最近在这里发布了一个问题,但是我不够具体,因此我将代码减少到最低限度。我正在尝试使用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);
}
}
答案 0 :(得分:0)
通过“运行类”,您似乎想再次运行main
方法。即使我不建议这样做,您当前的问题也可以解决。
您尝试调用main
,但是没有传递该方法所需的必要参数,即String[]
。
替换
main;
使用
main(new String[0]);
,然后您可以“重新运行您的课程”。但我怀疑这就是您真正想要的。