设计一个JAVA程序,完成: 数组的转置。即:数组的首尾对调。如:数组是{-1,3,6,2,8},转置后数组是{8,2,6,3,-1}
时间: 2024-05-15 18:17:52 浏览: 87
好的,针对您的问题,设计一个Java程序,实现数组的转置。代码如下:
```java
public class ArrayTranspose {
public static void main(String[] args) {
int[] arr = {-1, 3, 6, 2, 8};
int len = arr.length;
for (int i = 0; i < len / 2; i++) {
int temp = arr[i];
arr[i] = arr[len - i - 1];
arr[len - i - 1] = temp;
}
System.out.println(Arrays.toString(arr));
}
}
```
该程序首先定义了一个包含待转置的数组的变量,然后计算数组的长度,并使用循环交换数组的首尾元素,最后输出转置后的数组。其中,循环次数为数组长度的一半,循环过程中使用一个临时变量交换元素。最后使用`Arrays.toString()`方法输出数组。
相关问题
java 将一个给定的整型数组转置输出,例如将一个给定的整型数组转置输出,例如:源数组为:”1 2 3 4 5 6“,转置之后的数组为”6 5 4 3 2 1“。:源数组为:”1 2 3 4 5 6“,转置之后的数组为”6 5 4 3 2 1“。
在Java中,我们可以创建一个新的二维数组来实现整数数组的转置。下面是一个简单的例子:
```java
public class Main {
public static void main(String[] args) {
String input = "1 2 3 4 5 6"; // 源数组字符串形式
int[] numbers = parseArray(input); // 将字符串转换为整数数组
int[][] transposedArray = transpose(numbers); // 转置数组
printArray(transposedArray); // 输出转置后的数组
}
private static int[] parseArray(String input) {
String[] parts = input.split(" "); // 使用空格分割字符串得到数字数组
int[] numbers = new int[parts.length];
for (int i = 0; i < parts.length; i++) {
numbers[i] = Integer.parseInt(parts[i]);
}
return numbers;
}
private static int[][] transpose(int[] arr) {
int n = arr.length;
int[][] transposed = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
transposed[j][i] = arr[(j + i) % n]; // 使用模运算进行转置
}
}
return transposed;
}
private static void printArray(int[][] array) {
for (int[] row : array) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
}
}
```
在这个程序中,首先将输入的字符串解析成整数数组`numbers`,然后通过两个嵌套循环计算转置后的二维数组`transposedArray`。最后,使用`printArray`函数打印出转置后的结果。
编程实现:从键盘输入一个整型数组的长度和数组元素,然后将其转置,例如:源数组123456,转置之后的数组654321,最后对数组进行排序,并且输出。 程序运行结果:请输入数组长度:5 请输入数组元素:15324数组转置之后:4 2 3 5 1数组排序之后:1 2 3 4 5 java
下面是 Java 语言的实现代码:
```java
import java.util.Scanner;
import java.util.Arrays;
public class ArrayTransposeSort {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// 读取数组长度
System.out.print("请输入数组长度:");
int n = input.nextInt();
// 读取数组元素
System.out.print("请输入数组元素:");
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = input.nextInt();
}
// 数组转置
for (int i = 0, j = n - 1; i < j; i++, j--) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
// 数组排序
Arrays.sort(arr);
// 输出结果
System.out.print("数组转置之后:");
for (int i = 0; i < n; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
System.out.print("数组排序之后:");
for (int i = 0; i < n; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
}
```
运行结果:
```
请输入数组长度:5
请输入数组元素:1 5 3 2 4
数组转置之后:4 2 3 5 1
数组排序之后:1 2 3 4 5
```
阅读全文