繁体   English   中英

不确定是否要使用两个变量执行计算

[英]Unsure about performing a calculation with two variables

这就是我到目前为止所得到的。 在计算完交换值后,我希望它向用户收取是否是否为帐户持有人的佣金(开始时要求)。 就像如果他们不是帐户持有人一样,那么他们将收取2%和1%的佣金。 我不确定如何使用AccHolder变量和ExcAmount将其合并到计算佣金中。 有帮助吗?

if (CurChoice.equals("EUR")) {
            result = ExcAmount / Euro;
            DecimalFormat df = new DecimalFormat("#.##");
            System.out.println(ExcAmount + " in " + CurChoice + "\t=£" + df.format(result));
        } else if (CurChoice.equals("USD")) {
            result = ExcAmount / USAD;
            DecimalFormat df = new DecimalFormat("#.##");
            System.out.println(ExcAmount + " in " + CurChoice + "\t=£" + df.format(result));
        } else if (CurChoice.equals("JPY")) {
            result = ExcAmount / JapYen;
            DecimalFormat df = new DecimalFormat("#.##");
            System.out.println(ExcAmount + " in " + CurChoice + "\t=£" + df.format(result));
        } else if (CurChoice.equals("PLN")) {
            result = ExcAmount / Zloty;
            DecimalFormat df = new DecimalFormat("#.##");
            System.out.println(ExcAmount + " in " + CurChoice + "\t=£" + df.format(result));
        } else {
            System.out.println("");
        }

        double commission = (yn ? 0.01 : 0.02)*result;
        DecimalFormat df = new DecimalFormat("#.##");
        System.out.println("Commission\t=£" + df.format(commission));

        double netPayment = result - commission;
        System.out.println("Total:\t=£" +netPayment);

声明一次结果。

double result = 0.0;
if (CurChoice.equals("EUR")) {
    result = ExcAmount / Euro;
//...
 } else {
    System.out.println("");
}

double commission = (yn ? 0.01 : 0.02)*result;
System.out.println( "commision: " + ... );
double netPayment = result - commission;

yn是一个糟糕的名字,isAccountHolder可能更好。

同样,与if相比,打开CurChoice更为可取。

定义yn的位置如下:

boolean yn;

初始化为true(如下所示),因为将不允许用户输入y / n以外的其他字符串。

boolean yn = true;

阅读金额后:

int ExcAmount = keybStr.nextInt();

添加以下行以计算得出的佣金,例如:

double result = 0.;//default value of result

//do the calculation 

if (yn) {
   result *= 0.01d;
} else { 
   result *= 0.02d;
}

现在,删除所有对结果的重新声明,例如double result到just result ,因此我们只将转换后的值添加到佣金中。

在......的最后

if (MenuChoice == 1) {

您应该设置以下条件:

if (yn) ExcAmount += 0.01 * ExcAmount;
else ExcAmount += 0.02 * ExcAmount;

这是您要寻找的条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM