有些东西我试图反复修复,但我不能。
因此,程序会询问用户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都用作静态长
提前谢谢。
答案 0 :(得分:3)
除非a,b,c> = 100,否则表达式
a/100
将为0.因此
something * (a/100 +1)
是
something * 1
答案 1 :(得分:0)
在Number方法中将您的数字除以100.0。
答案 2 :(得分:0)
您正在使用整数100
将整数参数除以 - 您猜对了 - 整数运算,对于小于0
的任何值,结果为100
。使用100.0
强制浮点精度。
X1 = (long) (X1*(a / 100.0 + 1.0));
...