所以我必须为我的课程做一个啤酒乒乓游戏,但是当我尝试打印出我在数组cups1 [#],cups2 [#]中插入的值时,它们都出来了,就好像我插入了一个数字0,我没有得到,因为我没有将0插入到数组中的任何内容,并且每次打印时,我在控制台中看到很多0。我在杯子中插入的每个球都必须有一个数字,这就是为什么我要打印哪个球去了我的杯子是我的杯子阵列的原因,我将添加一个for循环以数组形式打印数字,但是如我所知想知道为什么数组只插入0 s。
这是我的代码。
public static void main(String[] args) {
int cups1[] = new int[9];
int cups2[] = new int[9];
int cup1 = 1;
int cup2 = 1;
int balls = 1;
for (int i = 0; i < 1000; i++) {
int random = (int) (Math.random() * 2);
if (random == 0) {
cups1[cup1] = balls;
cup1++;
balls++;
System.out.println(cups1[cup1]);
}
if (random == 1) {
cups2[cup2] = balls;
cup2++;
balls++;
System.out.println(cups2[cup2]);
}
if (cups1[0] >= 1 && cups2[0] >= 1) {
break;
}
}
}
答案 0 :(得分:0)
让我们剖析代码,向您展示为什么会发生这种情况:
cups1[cup1]=balls; // #1
cup1++; // #2
balls++;
System.out.println(cups1[cup1]); // #3
我们假设这是第一轮,所以cup1
为1,而balls
为1。
cups1[1]
,cups1
现在包含“ 0,1,0,0,0,0,0,0,0” cup1
,所以cup1
现在是2 cups1[2]
,其默认值仍为0 通过对行进行重新排序,您将看到分配的数字:
cups1[cup1]=balls;
System.out.println(cups1[cup1]);
cup1++;
balls++;
完整的代码可能仍然无法满足您的要求,但这很难告诉...