gpt4 book ai didi

java - 如何用循环使程序重置回开头

转载 作者:太空宇宙 更新时间:2023-11-04 06:21:18 25 4
gpt4 key购买 nike

我有一个简单的货币转换程序,允许用户在三个文本字段之一中输入,以便将其金额转换为美元。我希望用户能够根据需要多次输入信息,因此我创建了一个名为 continueButtonJButton,但我在正确创建循环和重置程序时遇到了麻烦。

问题:如何写一个循环语句,让这个程序从头开始,让用户再次输入数字?

public class MoneyConversionPanel extends JPanel {

JLabel yenLabel = new JLabel();
JLabel poundLabel = new JLabel();
JLabel euroLabel = new JLabel();
JTextField yenText = new JTextField("Enter Yen amount here:");
JTextField poundText = new JTextField("Enter Pound amount here:");
JTextField euroText = new JTextField("Enter Euro amount here:");
JButton continueButton = new JButton("Click to reset");
JButton yenButton = new JButton("Convert");
JButton poundButton = new JButton("Convert");
JButton euroButton = new JButton ("Convert");
MoneyConversion userInput;

public MoneyConversionPanel()
{

Dimension dimension = new Dimension(1200,1000);

setPreferredSize(dimension);

setBackground(Color.cyan);

yenButton.addActionListener(new buttonListener());

add(yenLabel);
add(poundLabel);
add(euroLabel);
add(yenText);
add(poundText);
add(continueButton);
continueButton.setVisible(false);
add(euroText);
add(yenButton);
add(poundButton);
add(euroButton);

}

private class buttonListener implements ActionListener
{
double conversionDouble;
NumberFormat costFmt = NumberFormat.getCurrencyInstance();


@Override
public void actionPerformed(ActionEvent e) {

do {

for(int i = 0; i < 1; i++)
{
if(e.getSource() == yenButton)

{
userInput = new MoneyConversion(Double.parseDouble(yenText.getText()));
conversionDouble = userInput.convertYen();
yenLabel.setText("" + costFmt.format(conversionDouble));
continueButton.setVisible(true);
}

else if(e.getSource() == poundButton)
{
userInput = new MoneyConversion(Double.parseDouble(poundText.getText()));
conversionDouble = userInput.convertPounds();
poundLabel.setText("" + costFmt.format(conversionDouble));
continueButton.setVisible(true);
}

else if(e.getSource() == euroButton)
{
userInput = new MoneyConversion(Double.parseDouble(euroText.getText()));
conversionDouble = userInput.convertEuro();
euroLabel.setText("" + costFmt.format(conversionDouble));
continueButton.setVisible(true);
}
}

} while(e.getSource() == continueButton);
}

}

}

最佳答案

建议:

  • 仅使用一个 JTextField 输入窗口。
  • 在此窗口左侧使用 JLabel 进行提示。
  • 拥有三个转换 JButton,每种货币一个
  • 或者使用 1 个转换 JButton 和 3 个 JRadioButton,以允许用户选择要转换为的货币。
  • 无需循环或重置。只需简单地进行转换并在每次按下按钮时显示它即可 - 就是这样。

关于java - 如何用循环使程序重置回开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27392714/

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