3

有些事情我试图一遍又一遍地修复,但我做不到。

所以程序向用户询问 3 个数字,然后询问他们想要添加的百分比,然后这些数字转到 void 方法:

所以它是这样的:

public static void main(String[] args) {

        System.out.print("Number 1: ");
        X1 = s.nextLong();
        System.out.print("Number 2: ");
        W1 = s.nextLong();
        System.out.print("Number 3: ");
        Z1 = s.nextLong();

        System.out.print("Percentage 1: ");
        int a = s.nextInt();
        System.out.print("Percentage 2: ");
        int b = s.nextInt();
        System.out.print("Percentage 3: ");
        int c = s.nextInt();
        Number(a,b,c);

}

public static void Number(int a, int b, int c)
{

    X1 = (long) (X1*(a/100 + 1));
    W1 = (long) (W1*(b/100 + 1));
    Z1 = (long) (Z1*(c/100 + 1));

}

但是,如果我尝试输入结果,数字不会改变。

注:X1、W1、Z1 均作为静态长

并提前感谢。

4

3 回答 3

2

除非 a,b,c >= 100,否则表达式

a/100 

将为 0。因此

something * (a/100 +1) 

something * 1
于 2013-10-30T23:51:51.070 回答
0

在 Number 方法中将您的数字除以 100.0。

于 2013-10-30T23:52:09.760 回答
0

您正在使用整数除以整数参数100- 你猜对了 - 整数算术导致0任何小于100. 用于100.0强制浮点精度。

X1 = (long) (X1*(a / 100.0 + 1.0));
...
于 2013-10-30T23:52:46.593 回答