2016-11-25 35 views
2

我是JAVA新手,我必须使用纸和铅笔为以下代码创建可变跟踪,并跟踪num1, num2, i, and any output的值。这是我必须跟踪的代码:只是确保

int num1 = 0;   
int num2 = 0:  

for (int i = 0; i <= 4; i++){   
      num1 = i * i;  
      num2 += num1;  
      System.out.println(num1 + " ");   
}  
System.out.println(num2);   

这是我的第一个跟踪,我不知道格式是什么。这是我迄今所做的:

Variable i Variable num1 Variable num2 Output  
0    0    0    0  
1    1    1    1  
2    4    4    5  
3    9    9    14  
4    16    16    30  
5   False Condition 30  

(1)当i=0 NUM1也为0,因为num1 = i * i;
并找到NUM2我们做num2 += num1;这也使得0
(2)当i=1 NUM1也是1,因为num1 = i * i;
并找到NUM2我们做num2 += num1;这也使得1

等等

对于输出,当它添加(num2+=num1)时,num2的值将保留。所以,它会在之前的输出中添加num1值。因此,尽管num2和输出相同,但值不同,但它们都在末尾显示30,并且当您添加num2的所有值时,它总计为30.因此,它将显示0, 1, 4, 9, 16, 30.

我只想确保我做对了,如果我没有能力,请建议我如何改进它?任何帮助非常感谢,并提前感谢您!

+0

有什么问题吗? – ColinM

+0

最后一行:只是想确保我做得正确,如果我没有,你会建议改进吗?第一次做它,不知道格式 –

+3

你没有做到正确,你可以通过在每次迭代中打印i,num1和num2的值来知道它。 –

回答

1

正确的表是

num1 num2 i  output 
0  0  0  0 
1  1  1  1 
4  5  2  4 
9  14  3  9 
16  30  4  16 
       5  30 
+0

哦,所以我不得不翻转num2和输出 –

+0

我不认为你明白什么num2 + = num1意思是 – Austin

+0

num2 + = num1;转换为num2 = num2 + num1; – Austin