浏览 1737 次
锁定老帖子 主题:访问数组中每次按自然数递增的数列下标的值
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-12-26
最后修改:2010-12-26
一个在高中时候学等差等比数列时候很简单的问题,即访问每次按自然数1,2,3,4,5,6,…递增下标的值的问题。 那么如何进行访问数组下标中按自然数递增的值问题: 例如:有数列如下: 1,2,3,4,5,6,7,8,9,10,… 第一次我需要访问第一位的值,即为1; 第二次的时候我需要访问第三位的值,即为3,在第一步访问第一位值的时候跟第二次访问的值已经相差了一个位置; 第三次我需要访问第六位的值,即为6;这一次访问的值与第二次访问的值相差了2个位置; 第四次我需要访问第十位的值,即为10,而这一次访问的值与第三次访问值的位置相差了3个位置; 如此进行下去…… 下面给出算法代码: private static int[] hose = {1,2,3,4,5,6,7,8,9,10}; //数组 …… public static void find(){ int add = 0; //辅助变量 for(int i = 0; i <100;i++ ){ System.out.println(hose[(i)%10]); add++; i=i+add; } } 同时这里需要理解for循环的执行过程,先初始化,再比较迭代变量的值是否小于或者是大于,如果符合则执行循环体中的代码,最后是要将迭代变量的值自增; 上面的for循环等价于下面的: public static void find(){ int add = 0; for(int i = 0; i <MAX; ){ System.out.println(hose[(i)%10]); add++; i++ ; i=i+add; } } 算法或者代码如果有错误或者不好的地方,敬请指出,让我们一起进步,谢谢~ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-12-27
for (int i = 0; i < horse.length;)
这个是什么意思? |
|
返回顶楼 | |
发表时间:2010-12-27
Javakeith 写道 for (int i = 0; i < horse.length;)
这个是什么意思? 是指for循环中的第三个参数没有的吗? |
|
返回顶楼 | |