gpt4 book ai didi

java - JOption 上的变量显示 2 次

转载 作者:行者123 更新时间:2023-11-30 05:57:41 25 4
gpt4 key购买 nike

我想在最后一部分显示变量toPay。

示例我向变量 toPay 输入 0,之后它将再次调用 main(args),然后我将输入 4,但输出是

JOption“To Pay: 28”这是正确的,但在我关闭 JOptionpane 后,再次弹出一些内容,它显示 JOption“To Pay 0”

package Payphone;

import java.util.Scanner;
import javax.swing.*;
public class Try {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int toPay=0;

int n = Integer.parseInt(JOptionPane.showInputDialog(null,"Enter calltime"));
if (n<=0) {
toPay = 0;
JOptionPane.showMessageDialog(null,"Error!");
Try.main(args);

}else if (n<=3){
toPay =20;
}else{
toPay =n - 3;
toPay =(toPay*3)+20;
}
JOptionPane.showMessageDialog(null,"Babayadan mo: "+toPay,"PAYCHECK",JOptionPane.PLAIN_MESSAGE);
}
}

最佳答案

发生此错误是因为您此时再次调用程序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);
}
}

关于java - JOption 上的变量显示 2 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52888553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com