重新打开正在运行的java程序
我有一个计算器,我一直在为学校工作 不过,它不会有一个典型的计算器GUI 我有一个测试版,我使用输入框来获取输入 我想知道是否有一种方法可以让函数关闭它,然后像循环一样重新打开它重新打开正在运行的java程序,java,swing,jframe,Java,Swing,Jframe,我有一个计算器,我一直在为学校工作 不过,它不会有一个典型的计算器GUI 我有一个测试版,我使用输入框来获取输入 我想知道是否有一种方法可以让函数关闭它,然后像循环一样重新打开它 import javax.swing.JOptionPane; public class JOptionPaneCalc { public static void main(String [] args){ char o = ' '; String input = " "; double
import javax.swing.JOptionPane;
public class JOptionPaneCalc {
public static void main(String [] args){
char o = ' ';
String input = " ";
double num1 = 0;
double num2 = 0;
double result = 0;
while (true){
input = JOptionPane.showInputDialog("What is your operand? ");
o = input.charAt(0);
if (o == '/') {
result = num1 / num2;
break;
} else if (o == '*') {
result = num1 * num2;
break;
} else if (o == '+') {
result = num1 + num2;
break;
} else if (o == '-') {
result = num1 - num2;
break;
}else if (o == 'q'){
System.exit(0);
}
}
input = JOptionPane.showInputDialog("What is your first number? ");
num1 = Double.parseDouble(input);
input = JOptionPane.showInputDialog("What is your second number? ");
num2 = Double.parseDouble(input);
if (o == '/') {
result = num1 / num2;
} else if (o == '*') {
result = num1 * num2;
} else if (o == '+') {
result = num1 + num2;
} else if (o == '-') {
result = num1 - num2;
}else if (o == 'q'){
System.exit(0);
}
JOptionPane.showMessageDialog(null ,"Your answer is : " + result);
}
}
这就是我所拥有的,希望您能帮助我您的代码有很多问题。如果o='q',那么您的程序将永远退出
}else if (o == 'q'){
System.exit(0);
}
阅读关于重复的文章。
如果您想让程序循环,那么至少应该这样编写:
public static void main(String[] args) {
char o;
String input;
double num1;
double num2;
double result=0.;
input = JOptionPane.showInputDialog("What is your operand? ");
o = input.charAt(0);
while (o!='q') {
input = JOptionPane.showInputDialog("What is your first number? ");
num1 = Double.parseDouble(input);
input = JOptionPane.showInputDialog("What is your second number? ");
num2 = Double.parseDouble(input);
if (o == '/') {
result = num1 / num2;
} else if (o == '*') {
result = num1 * num2;
} else if (o == '+') {
result = num1 + num2;
} else if (o == '-') {
result = num1 - num2;
}
JOptionPane.showMessageDialog(null ,"Your answer is : " + result);
input = JOptionPane.showInputDialog("What is your operand? ");
o = input.charAt(0);
}
}
请记住,您的用户必须非常清醒,以避免打字错误和收到数字格式异常…您所说的“关闭并重新打开”是什么意思?您可能需要查看这篇文章,它向您展示了如何通过编程关闭JOptionPane窗口。你可以在它关闭后重新打开它来交付你的输出:这有点难以解释。。。我想让它完成执行,但在你给出答案后按OK之前,如果你想做另一个问题,而不是仅仅关闭,就要问一个问题,然后一遍又一遍地重新运行它。我可以编写对话框,但如果用户指定“是”,我不太确定如何使其重新打开程序@Frakcoolok,也许您正试图用@NathanielPayne告诉您的
.dispose()
关闭JopOptions窗格