public static void main(String args[]){
Scanner s = new Scanner(System.in);
int x;
int y;
int z = 0;
x = s.nextInt();
y = s.nextInt();
while(y != 0){
z += x;
y--;
}
System.out.println(z);
}
这就是全部。 此代码计算x * y但不使用*。 有人告诉我,这只是一个(任务?)。我的问题是为什么这与负数一致。 x可以是负数是显而易见的,但为什么可以呢。
编辑:我自己编写了这段代码,所以我知道为什么它没有*。这不是问题。我可以为x输入5,为y输入-5,我得到-25。但为什么?每次他再添加一次x到z y减去1。但是在第5次停止之后。
答案 0 :(得分:1)
如果你把" z"在你明白的时候打印。
此代码溢出。达到int允许的最大值,然后从那里再次减少
答案 1 :(得分:0)
此代码会产生多个总和。所以它可以将数字加起来2,3倍,这就是它如何做2 * 3.
y可以是负数,因为if是看到!=而不是0,而不是<比0。