gpt4 book ai didi

java - 如果存在用户输入错误,如何阻止我的 Java 代码被处理?

转载 作者:行者123 更新时间:2023-12-02 10:00:21 28 4
gpt4 key购买 nike

我正在编写一个使用 GUI 的温度转换器。我将其设置为如果用户输入字符串或无效温度,则输入框下方会出现错误标签。但是,代码仍然会像用户输入 0 一样进行处理。它仍然会输出转换结果。我怎样才能阻止它在下面的类(class)中这样做?

package gui;
import javax.swing.*;
import java.awt.*;

public class JDataInput
extends JPanel
{
private JLabel lblInput;
private JTextField txtInput;
private JLabel lblMessage;

public JDataInput()
{

}

public JDataInput(String caption)
{

lblInput = new JLabel(caption);
txtInput = new JTextField(20);
lblMessage = new JLabel("");

JPanel row1 = new JPanel();
JPanel row2 = new JPanel();

row1.add(lblInput);
row1.add(txtInput);
row2.add(lblMessage);

this.add(row1);
this.add(row2);

}

public double getDoubleValue()
{
double returnValue = 0;
lblMessage.setText(" ");

try
{
returnValue = Double.parseDouble(txtInput.getText());

}
catch (NumberFormatException nfex)
{
lblMessage.setText(nfex.toString());
lblMessage.setForeground(Color.RED);
}
return returnValue;
}

public double getIntValue()
{
int returnValue = 0;
lblMessage.setText(" ");
try
{
returnValue = Integer.parseInt(txtInput.getText());
}
catch (NumberFormatException nfex)
{
lblMessage.setForeground(Color.RED);
lblMessage.setText(nfex.toString());
}
return returnValue;
}

}

最佳答案

从 catch block 返回空值,例如

 public double getDoubleValue()
{
double returnValue = 0;
lblMessage.setText(" ");

try
{
returnValue = Double.parseDouble(txtInput.getText());

}
catch (NumberFormatException nfex)
{
lblMessage.setText(nfex.toString());
lblMessage.setForeground(Color.RED);
return null;
}
return returnValue;
}

这将从函数中退出。

关于java - 如果存在用户输入错误,如何阻止我的 Java 代码被处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55679295/

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