我有一个项目,我在Swing中的Java程序使用双数组接受来自用户的值并打印项目的总数,类似于订单表单。 假设用户在文本框中没有输入任何值,这会显示错误并阻止进一步计算。 我的问题是,我应该编码什么才能让计算机理解文本框中没有输入任何内容,所以只需将值取为0。我想通过比较/转换来做到这一点将double数组值转换为字符串,然后继续计算。
这是我的代码:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
double price[]=new double[]{0.25,8.55,0.50,0.25};
double amount[]=new double[4];
double quantity[]=new double[4];
quantity[0]=Double.parseDouble(jTextField1.getText());
quantity[1]=Double.parseDouble(jTextField2.getText());
quantity[2]=Double.parseDouble(jTextField3.getText());
quantity[3]=Double.parseDouble(jTextField4.getText());
for(int i=0;i<4;i++) // I want to use a for-loop or if-statement to
check if there is a value entered or not
{
if()
{
quantity[i] //no clue what to do here.
}
}
for(int i=0;i<4;i++)
{
{
amount[i]=quantity[i]*price[i];
}
}
jTextField5.setText(String.valueOf(amount[0]));
jTextField6.setText(String.valueOf(amount[1]));
jTextField7.setText(String.valueOf(amount[2]));
jTextField8.setText(String.valueOf(amount[3]));
答案 0 :(得分:1)
首先,您需要在解析文本字段之前检查文本字段是否为空或字符串值。你可能需要为所有领域做这件事。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// check the values of the text fields including an or condition for regular expressions
if (jTextField1.isEmpty() || jTextField1.getText().matches("\\d+.?\\d*") {
// you can use something like a modal to alert
JOptionPane.showMessage(null,"Must enter a decimal value");
} else {
// do something with jTextField1
}
}
答案 1 :(得分:1)
您可以使用
if (!jTextField1.getText().isEmpty())