java键盘输入一个长度为8的整型数组,输出原数组和逆序数组(两种方法)
时间: 2024-09-26 17:05:14 浏览: 49
在Java中,你可以使用Scanner类从用户那里获取键盘输入创建一个整数数组,然后通过不同的方法来处理数组并输出原始数组和逆序数组。以下是两种常见的方法:
方法一:直接逆序并打印数组
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个8位整型数组(用空格分隔):");
String input = scanner.nextLine();
int[] array = parseArray(input); // 解析输入字符串得到整数数组
printArray(array, "原始数组:"); // 打印原始数组
reverseAndPrintArray(array, "逆序数组:"); // 反转数组并打印
}
// 解析输入字符串为整数数组
public static int[] parseArray(String s) {
String[] parts = s.split(" ");
int[] result = new int[parts.length];
for (int i = 0; i < parts.length; i++) {
result[i] = Integer.parseInt(parts[i]);
}
return result;
}
// 反转数组并打印
public static void reverseAndPrintArray(int[] arr, String prefix) {
int start = 0, end = arr.length - 1;
while (start < end) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
System.out.println(prefix + Arrays.toString(arr));
}
}
```
方法二:使用Java内置函数和lambda表达式
```java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个8位整型数组(用空格分隔):");
String input = scanner.nextLine();
int[] array = parseArray(input);
// 输出原始数组
System.out.println("原始数组:" + Arrays.toString(array));
// 使用倒叙功能直接逆序
System.out.println("逆序数组:" + Arrays.stream(array).boxed().sorted((a, b) -> b.compareTo(a)).toArray());
}
}
```
阅读全文