我想知道可以做出什么样的陈述,这样如果我留下空格就不会出错。
例如,我在 netbeans中有 11textField
个。JFrame
如果我填写这 11 个,这使我成为正常的总和,但是如果例如在这 11 个中我只想填写 5 或 2 或 3 或 7 或 4 或 1 等;如果我将这些留空,它会给我一个错误,并且不再计算总和。
我该如何解决这个问题?我知道用 aIgnoreCase
可以让它在填写表格时不留下空格,但我不知道如何让它留下空格并继续执行普通总和。
换句话说,把它当作 0 来计算,但不要在总和中加上零。
double pro1; double pro2; double pro3; double pro4; double pro5; double pro6; double pro7; double pro8; double pro9; double pro10; double pro11;
double vtnum1; double vtnum2; double vtnum3; double vtnum4; double vtnum5; double vtnum6; double vtnum7; double vtnum8; double vtnum9; double vtnum10; double vtnum11;
double pnum1; double pnum2; double pnum3; double pnum4; double pnum5; double pnum6; double pnum7; double pnum8; double pnum9; double pnum10; double pnum11;
double ivita; double totalito; double subtotalito;
pro1=Double.parseDouble(num1.getText());
pro2=Double.parseDouble(num2.getText());
pro3=Double.parseDouble(num3.getText());
pro4=Double.parseDouble(num4.getText());
pro5=Double.parseDouble(num5.getText());
pro6=Double.parseDouble(num6.getText());
pro7=Double.parseDouble(num7.getText());
pro8=Double.parseDouble(num8.getText());
pro9=Double.parseDouble(num9.getText());
pro10=Double.parseDouble(num10.getText());
pro11=Double.parseDouble(num11.getText());
pnum1=Double.parseDouble(precio1.getText());
pnum2=Double.parseDouble(precio2.getText());
pnum3=Double.parseDouble(precio3.getText());
pnum4=Double.parseDouble(precio4.getText());
pnum5=Double.parseDouble(precio5.getText());
pnum6=Double.parseDouble(precio6.getText());
pnum7=Double.parseDouble(precio7.getText());
pnum8=Double.parseDouble(precio8.getText());
pnum9=Double.parseDouble(precio9.getText());
pnum10=Double.parseDouble(precio10.getText());
pnum11=Double.parseDouble(precio11.getText());
vtnum1=pro1*pnum1;
vtnum2=pro2*pnum2;
vtnum3=pro3*pnum3;
vtnum4=pro4*pnum4;
vtnum5=pro5*pnum5;
vtnum6=pro6*pnum6;
vtnum7=pro7*pnum7;
vtnum8=pro8*pnum8;
vtnum9=pro9*pnum9;
vtnum10=pro10*pnum10;
vtnum11=pro11*pnum11;
String valtota1=vtnum1 + "";
String valtota2=vtnum2 + "";
String valtota3=vtnum3 + "";
String valtota4=vtnum4 + "";
String valtota5=vtnum5 + "";
String valtota6=vtnum6 + "";
String valtota7=vtnum7 + "";
String valtota8=vtnum8 + "";
String valtota9=vtnum9 + "";
String valtota10=vtnum10 + "";
String valtota11=vtnum11 + "";
num12.setText(valtota1);
num13.setText(valtota2);
num14.setText(valtota3);
num15.setText(valtota4);
num16.setText(valtota5);
num17.setText(valtota6);
num18.setText(valtota7);
num19.setText(valtota8);
num20.setText(valtota9);
num21.setText(valtota10);
num22.setText(valtota11);
subtotalito=vtnum1+vtnum2+vtnum3+vtnum4+vtnum5+vtnum6+vtnum7+vtnum8+vtnum9+vtnum10+vtnum11;
String st= subtotalito+"";
subtotal.setText(st);
ivita=subtotalito*0.12;
String i= ivita+"";
iva.setText(i);
totalito=subtotalito+ivita;
String t= totalito+"";
total.setText(t);
}
补充M. Gress的回答(抱歉,系统暂时不允许我添加评论)
理想情况下,您将创建一个函数来减少代码的大小,并使其更易于维护和重用。
具体来说,类似这样的功能
因此,修改会更清晰
编辑添加Luiggi Mendoza建议的更改
您必须为每个条目添加类似的内容:
一种选择是使用 commons lang 库,将 jar 文件从您的 IDE 添加到您的项目中。如果您使用 maven 或 gradle,您可以轻松地将其添加为依赖项。
从这里下载库
您应该将此添加到您的代码中(一旦您将库加载到您的项目中)
如果 num.getText() 为空、空字符串或带空格的字符串,上述代码的作用是返回“0”。