gpt4 book ai didi

java - 使用java交换3*4矩阵中的列

转载 作者:行者123 更新时间:2023-12-01 14:56:17 26 4
gpt4 key购买 nike

我用java编写了一个代码来交换3*4矩阵的列。

String[][] a = { { a,t,t,a},
{ c,k,a,t},
{ d,a,w,n }
};

我想要的输出是:一个,t,t,一个,t,a,k,c,n、w、a、d。

所以我的循环如下:

for(i=0;i<=2;i++) {
for(j=0;j<=5;j++) {
if(j<=2) {
temp=a[i][j+1];
a[i][j+1]=a[i][j];
a[i][j]=temp;
}
if(j>3) {
temp=a[i][j-3];
a[i][j-3]=a[i][j-4];
a[i][j-4]=temp;
} else {
temp=a[i][j-1];
a[i][j-1]=a[i][j-2];
a[i][j-2]=temp;
}
}
}

错误是:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at Execute.swapColums(DtTwo.java:69)
at DtTwo.main(DtTwo.java:11)

请帮忙..

最佳答案

示例:

public class Test
{
public static void main(String args[])
{
String[][] array2d = {
{ "a","t","t","a"},
{ "c","k","a","t"},
{ "d","a","w","n" }
};

for (int i = 0; i < array2d.length; i++)
{
swapCols(array2d[i]);
}

print(array2d);
}

private static void swapCols(String s[])
{
for (int i = 0; i < s.length / 2; i++)
{

String temp = s[s.length - 1 - i];
s[s.length - 1 - i] = s[i];
s[i] = temp;
}
}

private static void print(String[][] array2d)
{
System.out.println(Arrays.deepToString(array2d));
}
}

输出:

[[a, t, t, a], [t, a, k, c], [n, w, a, d]]

关于java - 使用java交换3*4矩阵中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14292675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com