设计一个JAVA程序,完成: 由用户输入数组arr和步长k,按步长k输出数组中元素。已输出的元素要跳过去,不要重复输出。 如:已知数组a:{1,2,3,4,5,6,7,8,9,10,11},步长k=3,则输出的序列为:3 6 9 1 5 10 4 11 8 2 7
时间: 2024-05-11 18:16:44 浏览: 173
好的,我会为您设计一个JAVA程序来实现您的需求。以下是程序代码:
```
import java.util.Scanner;
public class ArrayByK {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 获取数组和步长
System.out.print("请输入数组元素,以空格分隔:");
String[] arrStr = scanner.nextLine().split(" ");
int[] arr = new int[arrStr.length];
for (int i = 0; i < arrStr.length; i++) {
arr[i] = Integer.parseInt(arrStr[i]);
}
System.out.print("请输入步长k:");
int k = scanner.nextInt();
scanner.close();
// 按步长输出元素
int len = arr.length;
for (int i = 0, j = 0; i < len; i++) {
if (i % k != 0) {
continue;
}
System.out.print(arr[i] + " ");
j++;
// 如果已经输出了所有元素,跳出循环
if (j == len) {
break;
}
i = (i + k) % len - 1;
if (i < -1) {
i += len;
}
}
}
}
```
您可以按照以下步骤运行程序:
1. 打开Java开发环境(如Eclipse或IntelliJ IDEA等)。
2. 创建一个新的Java项目,将上述代码复制到一个Java类文件中。
3. 编译和运行程序。
4. 按照程序提示,输入数组元素和步长k,并按照输出结果查看输出的数组元素。
希望这个程序能够满足您的需求,如有问题可随时提出。
阅读全文