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种模式?
答案 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
教程的链接