现在有一个int型数组,例如{2,5,3,10,-1,20},递归求解把这个数组中的数按照一定步长把它给打印出来,例如步长为2,输出结果是2,10,5,-1,3,20。如果下一个数已经被打印了,要打印它下面一个数,知道整个数组的数被打完
解决方案 »
- 怎么去掉arraylist里的重复数据
- 连接数据库的时候多添加了这一段就提示nullpointexcep……
- 读文件并写入数据库问题
- 创建一个线程的时候到底要不要set name呢
- 请教如何关闭窗口?
- eclipse问题
- java如何创建一个只能输入数字的文本框啊?
- 如何通过web来使用java打印数据库数据?(指点思路、方法……)
- 如何让窗体永远在其他窗体的前面??
- 我在APPLET里调用JAVAMAIL发邮件,出现java.security.AccessControlException: access denied (java.util.PropertyPermission * read,write)的错误???
- Runtime执行MYSQL数据库导出
- 比较复杂的一个问题。高手进`
*
* @author zdjray
*/
public class PrintArray { /**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int length = 2;
int arr[] = {2, 5, 3, 10, -1, 20};
int arrLen = arr.length;
int a[] = new int[arrLen];
boolean b[] = new boolean[arrLen];
a[0] = 0;
b[0] = true;
for(int i = 0; i < arrLen - 1; i++){
b[i + 1] = false;
}
for(int i = 0; i < arrLen - 1; i++){
a[i + 1] = ((a[i] + length + 1) % arrLen);
while(b[a[i + 1]] == true){
a[i + 1]++;
}
b[a[i + 1]] = true;
}
for(int i = 0; i < arrLen; i++){
System.out.print(arr[a[i]] + " ");
}
}}