java-基础-计算数组的转置(横向输出)

/**
 * 计算数组的转置
 */
class ArrayTransDemo{
    public static void main(String[] args){
int[][] arr = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};
out(arr);
System.out.println("---------------");
arr = trans(arr);
out(arr);
//
int[][][] arrr = {{{1,2,3},{4,5,6},{7,8,9}},{{10,11,12},{13,14,15},{16,17,18}},{{19,20,21},{22,23,24},{25,26,27}}};
outHor(arrr);
    }


//转置
public static int[][] trans(int[][] arr){
//
for(int i = 0 ; i < arr.length - 1 ; i ++){
for(int j = i + 1 ; j < arr[i].length ; j ++){
int temp = arr[i][j];
arr[i][j] = arr[j][i] ;
arr[j][i] = temp ;
}
}
return arr ;
}


public static void out(int[][] arr){
for(int i = 0 ; i < arr.length ; i ++){
for(int j = 0 ; j < arr[i].length ; j ++){
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
}


//横向输出三维数组
public static void outHor(int[][][] arr){
//循环行数,每个二维数组的长度
for(int i = 0 ; i < arr[0].length ; i ++){
//输出所有列
for(int j = 0 ; j < arr.length ; j ++){
//输出每个层上的第i行的元素.
for(int k = 0 ; k < arr[j][i].length ; k ++){
System.out.print(arr[j][i][k] + "\t");
}
System.out.print(" | ") ;
}
System.out.println();
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值