j ava二维数组行列互调输出数字矩阵
时间: 2023-09-09 07:06:29 浏览: 129
可以使用双重循环来实现行列互调输出数字矩阵的功能,具体实现代码如下:
```java
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 获取原始矩阵的行数和列数
int rows = matrix.length;
int cols = matrix[0].length;
// 定义一个新的矩阵,行列进行互调
int[][] newMatrix = new int[cols][rows];
// 双重循环将原始矩阵中每个元素赋值给新矩阵对应的位置
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
newMatrix[j][i] = matrix[i][j];
}
}
// 输出新矩阵
for (int i = 0; i < cols; i++) {
for (int j = 0; j < rows; j++) {
System.out.print(newMatrix[i][j] + " ");
}
System.out.println();
}
```
以上代码可以将原始矩阵:
```
1 2 3
4 5 6
7 8 9
```
转换为新矩阵:
```
1 4 7
2 5 8
3 6 9
```
输出结果为:
```
1 4 7
2 5 8
3 6 9
```
相关问题
j ava二维数组行列互调输出古诗
好的,这是一个例子,将一个古诗转化为二维数组,然后行列互调输出:
```java
public class PoemTranspose {
public static void main(String[] args) {
String poem = "静夜思\n床前明月光,\n疑是地上霜。\n举头望明月,\n低头思故乡。\n";
String[] lines = poem.split("\n"); // 按行分割古诗
int maxLength = 0;
for (String line : lines) {
maxLength = Math.max(maxLength, line.length()); // 找到最长的一行
}
char[][] arr = new char[maxLength][lines.length]; // 创建二维数组
for (int i = 0; i < lines.length; i++) {
String line = lines[i];
for (int j = 0; j < line.length(); j++) {
arr[j][i] = line.charAt(j); // 将字符填入二维数组
}
}
for (int i = 0; i < maxLength; i++) {
for (int j = 0; j < lines.length; j++) {
if (arr[i][j] != 0) {
System.out.print(arr[i][j]); // 输出字符
} else {
System.out.print(" "); // 如果为空格就输出空格
}
}
System.out.println(); // 换行
}
}
}
```
输出结果:
```
床疑举低静
前是头头
明望思故
月明地乡
光月上。 。
```
java二维数组行列互调
您可以通过以下代码实现Java二维数组行列互调:
```
public static void main(String[] args) {
int[][] originalArray = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int[][] transposedArray = transpose(originalArray);
System.out.println("Original array:");
printArray(originalArray);
System.out.println("Transposed array:");
printArray(transposedArray);
}
public static int[][] transpose(int[][] originalArray) {
int[][] transposedArray = new int[originalArray[0].length][originalArray.length];
for (int i = 0; i < originalArray.length; i++) {
for (int j = 0; j < originalArray[i].length; j++) {
transposedArray[j][i] = originalArray[i][j];
}
}
return transposedArray;
}
public static void printArray(int[][] array) {
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
}
```
该程序将打印出原始数组和转置数组,以便您可以检查正确性。注意,此程序适用于任何大小的二维数组。
阅读全文