我正在尝试创建一个Android应用,以帮助计算拆分账单,如果让我们说你在2人或更多人的聚会中外出就餐。
您应该输入账单小计,输入参加方的人数,输入适用的折扣(如果有的话),有7个税率的2个复选框,如果没有则有10%的服务费用包括在法案中。最后,您只需点击应用程序的“计算按钮”即可计算每个人必须支付的费用。
程序在用户输入时采用小计金额, 计算额外折扣,如果有,请扣除折扣后的金额, 如果选中该复选框,则计算额外的7%GST税,或者如果未选中则不执行任何操作 如果选中该复选框,则计算额外的10%提示,如果未选中则不执行任何操作。
我不确定我执行程序的逻辑,如果有人可以查看并提供反馈,也会感激不尽。该应用程序的逻辑应该是:
这是我写的代码:
gst = (CheckBox) findViewById(R.id.cbCheck1);
gst.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (gst.isChecked()) {
result = result + (0.07 * result);
} else {
result = result;
}
}
});
tips = (CheckBox) findViewById(R.id.cbCheck2);
tips.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (tips.isChecked()) {
result = result + (0.1 * result);
} else {
result = result;
}
}
});
//Initialize EditTexts
String amount = enterAmount.getText().toString();
double subtotal = Double.valueOf(amount).doubleValue();
String diners = numberDiners.getText().toString();
int people = Integer.parseInt(diners);
String disc = enterDiscount.getText().toString();
int discount = Integer.parseInt(disc);
double discounted = discount / 100;
result = (1 - discounted) * (subtotal / people);
提前感谢您提供的所有反馈意见。
答案 0 :(得分:0)
为什么不像使用calulator一样使用逻辑?输入总帐单,输入人数,输入税金并输入提示。
1) total = total * (1+tax)
2) total = total * (1+tip)
3) totalPerPerson = total / numPeeps
说实话,我并不十分确定是什么让你如此麻烦。
编辑1:作为一个后悔的想法,有些东西供你考虑,当我的朋友和我出去时,我们只为我们得到的东西买单;我们不会均匀地拆分标签。也许您可以考虑添加这种功能吗?
编辑2:要解决您的评论,您始终将结果设置为至少结果。如果取消选中该复选框,则需要将其设置回应用程序默认值。也许if (!isChecked) result = 1;