Java 变量打开选项显示2次
我想在最后一部分显示变量toPay 例如,我在变量toPay中输入了0,之后它将再次调用main(args),然后我将输入4,但输出是 JOption“To Pay:28”是正确的,但在我关闭JOption窗格后,再次弹出一个窗口,显示JOption“To Pay:0”Java 变量打开选项显示2次,java,joptionpane,Java,Joptionpane,我想在最后一部分显示变量toPay 例如,我在变量toPay中输入了0,之后它将再次调用main(args),然后我将输入4,但输出是 JOption“To Pay:28”是正确的,但在我关闭JOption窗格后,再次弹出一个窗口,显示JOption“To Pay:0” 套餐付费电话; 导入java.util.Scanner; 导入javax.swing.*; 公务舱试驾{ 公共静态void main(字符串[]args){ 扫描仪sc=新的扫描仪(System.in); int-toPay=0
套餐付费电话;
导入java.util.Scanner;
导入javax.swing.*;
公务舱试驾{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
int-toPay=0;
int n=Integer.parseInt(JOptionPane.showInputDialog(null,“输入calltime”);
如果(n发生此错误是因为此时再次调用程序Try.main(args)因此,当发生错误时,您可以设置toPay=0;
,然后显示错误消息,但最后一行再次调用JOptionPane,因此在正确执行第一个JOptionPane后,程序仍将执行最后一个JOptionPane,并显示“Babayadan mo:0”
要纠正这种情况,您必须结束程序或执行以下操作:
import javax.swing.JOptionPane;
public class Try {
private static int n;
public static void main(String[] args) {
babayadan();
}
public static void restart() {
JOptionPane.showMessageDialog(null, "Error!");
n = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter calltime"));
}
public static void babayadan() {
n = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter calltime"));
while(n <= 0) {
restart();
}
int toPay = 0;
if (n <= 3){
toPay = 20;
}else {
toPay = n - 3;
toPay =(toPay * 3) + 20;
}
JOptionPane.showMessageDialog(null, "Babayadan mo: " + toPay, "PAYCHECK", JOptionPane.PLAIN_MESSAGE);
}
}
import javax.swing.JOptionPane;
公务舱试驾{
私有静态int n;
公共静态void main(字符串[]args){
babayadan();
}
公共静态void restart(){
showMessageDialog(null,“Error!”);
n=Integer.parseInt(JOptionPane.showInputDialog(null,“输入calltime”);
}
公共静态无效babayadan(){
n=Integer.parseInt(JOptionPane.showInputDialog(null,“输入calltime”);
while(n)只要输入0
,是否要连续运行此程序?
import javax.swing.JOptionPane;
public class Try {
private static int n;
public static void main(String[] args) {
babayadan();
}
public static void restart() {
JOptionPane.showMessageDialog(null, "Error!");
n = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter calltime"));
}
public static void babayadan() {
n = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter calltime"));
while(n <= 0) {
restart();
}
int toPay = 0;
if (n <= 3){
toPay = 20;
}else {
toPay = n - 3;
toPay =(toPay * 3) + 20;
}
JOptionPane.showMessageDialog(null, "Babayadan mo: " + toPay, "PAYCHECK", JOptionPane.PLAIN_MESSAGE);
}
}