java键盘输入一个长度为8的整型数组,输出原数组和逆序数组(3种方法)
时间: 2024-09-26 12:05:15 浏览: 40
第7章 数组(C语言)
在Java中,你可以使用多种方法来实现输入一个长度为8的整型数组,并输出原数组和逆序数组。以下是三种常见的方法:
方法一:使用`Scanner`和数组操作
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] array = new int[8];
System.out.println("请输入一个长度为8的整型数组:");
for (int i = 0; i < 8; i++) {
array[i] = scanner.nextInt();
}
// 输出原数组
System.out.println("原数组:");
for (int num : array) {
System.out.print(num + " ");
}
// 逆序数组
reverseArray(array);
System.out.println("\n逆序数组:");
for (int num : array) {
System.out.print(num + " ");
}
}
// 逆序数组方法
private static void reverseArray(int[] arr) {
int start = 0;
int end = arr.length - 1;
while (start < end) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
}
```
方法二:使用递归反转数组
```java
public class Main {
// ...其他部分...
// 递归逆序数组方法
private static void reverseArrayRecursively(int[] arr, int start, int end) {
if (start >= end) return;
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
reverseArrayRecursively(arr, start + 1, end - 1);
}
// 在main方法中调用
// ...
// 逆序数组
public static void reverseArray(int[] array) {
reverseArrayRecursively(array, 0, array.length - 1);
}
}
```
方法三:使用ArrayList(适合于动态大小)
```java
import java.util.ArrayList;
import java.util.Collections;
public class Main {
// ...其他部分...
// 逆序列表
private static void reverseList(ArrayList<Integer> list) {
Collections.reverse(list);
}
// 输入并转换为ArrayList
private static ArrayList<Integer> inputToArrayList() {
Scanner scanner = new Scanner(System.in);
ArrayList<Integer> array = new ArrayList<>();
for (int i = 0; i < 8; i++) {
array.add(scanner.nextInt());
}
return array;
}
// 在main方法中调用
// ...
// 逆序数组
public static void reverseArray(ArrayList<Integer> arrayList) {
reverseList(arrayList);
}
}
```
阅读全文