为什么不打印4种模式?

时间:2016-08-04 12:49:03

标签: java arrays

int[] Array1 = {1,2,3,4,5,6,7,8,9,10};     
int pattern =0;
int first = 1;
for(int i=0; i<10;i+=2)
{
    if(Array1[i] + Array1[first] > 7) 
    {
        pattern ++;
    }
    first+=2;
}
System.out.println("The total number of patterns: " + pattern);

我想做的事情:加上相邻的数字并检查它是否超过7.如果是打印1模式等等

为什么不打印4种模式?

2 个答案:

答案 0 :(得分:0)

数组以0索引开头,因此您的模式执行以下操作:

1 + 2 = 3(小于7)

(Array1[0] + Array1[1])

3 + 4 = 7(小于7,>=表示小于或等于7)

(Array1[2] + Array1[3])

5 + 6 = 11(大于7)

7 + 8 = 15(大于7)

9 + 10 = 19(大于7)

如您所见,只有3个结果大于7

答案 1 :(得分:0)

在for循环开始后添加此行。

  

System.out.println(Array1[i] + "+" + Array1[first] + "=" + (Array1[i] + Array1[first]));

它将解释您的代码发生了什么。输出将是::

  

1 + 2 = 3

     

3 + 4 = 7

     

5 + 6 = 11

     

7 + 8 = 15

     

9 + 10 = 19

     

模式总数:3

正如您所看到的,只有三次模式大于7.因此您的输出。

如果您使用eclipse,您可以添加断点并了解代码流。以下是debugging in eclipse

教程的链接