我对java很新,我想知道如何将用户在文本框中输入的数字乘以他们在组合框中选择的数字。 到目前为止我有这个:
int Cost = Integer.parseInt(txtCost.getText());
int TipCost;
int Tip = Integer.parseInt((String)cboTip.getSelectedItem());
TipCost = Cost*(Tip/100);
TipCost = Math.round(TipCost);
TipCost = TipCost/100;
我现在得到的只是0.
答案 0 :(得分:0)
尝试在所选项目上调用toString()
方法,而不是转换选定的值,如下所示:
int Tip = Integer.parseInt(cboTip.getSelectedItem().toString());
答案 1 :(得分:0)
您的TipCost
必须是double
类型才能生成带小数点的数字。
此外,您的计算受到整数除法的影响,而忽略了余数。将整数除以100的计算最好使用大于100的整数,否则结果将始终为0.
您还有一些逻辑错误。以下是修复代码的方法:
int Cost = Integer.parseInt(txtCost.getText());
int Tip = Integer.parseInt(cboTip.getSelectedItem().toString());
double TipCost = Cost*Tip/100.0; // get the tip cost, 100.0 avoids integer division
TipCost = Math.round(TipCost*100)/100.0; // round to 2 decimal places