给复选框一个整数值并存储在JavaDB中

时间:2016-01-05 16:05:50

标签: java

我目前正在开发一个小程序,它允许项目的排序和总成本存储在JavaDB中。

我已成功将整数值存储到数据库中,但项目的成本金额不正确。看起来当选中复选框时,它会将其计为设定值之上的值。有人能看看我错了吗?

非常感谢任何帮助!

屏幕截图:

http://i.imgur.com/ad41ooG.png

1 个答案:

答案 0 :(得分:1)

好的 - 我想我能看出你的问题。进一步减少代码,你有:

int fanta = 1;
int crisps = 1;
int beer = 2;
int wine = 3;
int water = 0;

...

if(btnFanta.isSelected()) fanta++;
if(btnCrisps.isSelected()) crisps++;
if(btnBeer.isSelected()) beer++;
if(btnWine.isSelected()) wine++;
if(btnWater.isSelected()) water++;

rs.updateInt("TotalCost", fanta + crisps + beer + wine + water);

因此,如果未选择任何内容,则会添加所有值:1 + 1 + 2 + 3 + 0 = 7,并插入该值。如果选择了Fanta,则首先递增fanta的值,使其为2,然后将其添加到所有其他零食的值:2 + 1 + 2 + 3 + 0 = 8,这是您在数据库中看到的你选择芬达。

希望这是有道理的,我猜这不是你想要的。我建议一个解决方案是添加一个新变量,比如totalCost,如果选中相关复选框,则将值添加到 ,这样,你最终会有类似的东西:

int fanta = 1;
int crisps = 1;
...
int totalCost = 0;
...
if(btnFanta.isSelected()) totalCost += fanta;
if(btnCrisps.isSelected()) totalCost += crisps;
...
rs.updateInt("TotalCost", totalCost);

(如果您不熟悉+=语法,则与totalCost = totalCost + fanta说法相同,即您将fanta添加到之前的totalCost {} 。)