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