java二维数组转置
Ⅰ 如何用java对3*4二维数组转置输出
String[][] s = new String[3][4];
for(int i = 0 ; i < 3 ; i++){
for(int j = 0 ; j < 4 ; j++){
s[i][j] = i+"&"+j;
}
}
for (String[] s1 : s) {
for (String s2 : s1) {
System.out.println(s2);
}
}
Ⅱ 用java编写程序用一个二维数组a[ ][ ]存放3*3矩阵,求它的转置矩阵b[ ][ ]。
public class T {
public static void main(String[] args) {
回int i,j;
int[][] a = {{1,1,1},{2,2,2},{3,3,3}};
int[][] b = new int[3][3];
System.out.print("初始矩答阵:\n");
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
System.out.print(a[i][j]+" ");
}
System.out.print("\n");
}
System.out.print("转置矩阵:\n");
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
b[i][j] = a[j][i];
System.out.print(b[i][j]+" ");
}
System.out.print("\n");
}
}
}
Ⅲ 用JAVA程序写出一个3*3矩阵的转置
/**
* @ 熙熙
* @2011-4-20
*/
public class JuZhenZhuanZhi {
/**
* @param args
*/
public static void main(String[] args) {
int a[][]={
{11,12,13}
,{21,22,23}
,{31,32,33}
};
System.out.println("转置前的矩阵:");
print(a);
zhuanZhi(a);
System.out.println("转置后的矩阵:");
print(a);
}
public static void zhuanZhi(int a[][]){
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a[i].length;j++){
int tem = a[i][j];
a[i][j] = a[j][i];
a[j][i] = tem;
}
}
}
public static void print(int a[][]){
for(int i=0;i<a.length;i++){
int j=0;
for(;j<a[i].length-1;j++){
System.out.print(a[i][j]+",");
}
System.out.println(a[i][j]);
}
}
}
Ⅳ 使用java方法将(123456)数组转置
int array = {1,2,3,4,5,6};
for(int i = 0;i<array.length/2;i++){
int temp = array[i];
array[i] = array[array.length-i-1];
array[array.length-i-1]=temp;
}
Ⅳ 将一个5×3的二维数组转置输出 java 大家帮我看看到底错在哪了谢谢
import java.util.Scanner;
import javax.swing.JApplet;
public class LX6_5 extends JApplet {
/**
* 将一个5×3的二维数组转置输出。
*/
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int[][] a = new int[3][5];
System.out.println("输入的5 * 3 矩阵是:");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
a[i][j] = s.nextInt();
}
}
System.out.println("输出的转置矩阵是:");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(a[j][i]);
System.out.print(" ");
}
System.out.print("\n");
}
}
}
Ⅵ 用java:利用二维数组,任意给出一个矩阵,编写实现矩阵转置的代码
借花献佛
/**
*实现二维数组的转置
*@authorHAN
*
*/
publicclasstransposition_Arrays2D_ch6_4{
finalstaticdoublePI=3.1415;
publicstaticvoidmain(String[]args){
/*StaticTestst1=newStaticTest();
StaticTestst2=newStaticTest();
st1.method2("HAN");*/
/*****定义要用于转置的二维数组*******/
intarr2D[][]={{1,2,3},{4,5,6},{7,8,9}};
/*****构造结果新二维数组用于存放转置结果*******/
/*定义结果数组变量,注意一定要先开辟一个内存,
否则只是地址传递,也就是说两个数组名实际上指向的是同一块内存*/
//而构造二维数组可以为维度来进行,不一定是一个矩阵,即每一行的长度不一定相同
intresult_arr[][]=newint[arr2D.length][];//先实现第一维
for(inti=0;i<arr2D.length;i++){//再实现第二维
result_arr[i]=newint[arr2D[i].length];
}
// intresult_arr[][]=Arrays.Of(arr2D,arr2D.length);
//上面这个命令行行不通!
/*****输出用于转置的二维数组*******/
for(intx[]:arr2D){
for(inte:x){
System.out.print(e+"");
}
System.out.println();
}
System.out.println();
/*******进行元素倒置******/
for(inti=0;i<arr2D.length;i++){
for(intj=0;j<arr2D[i].length;j++){
result_arr[j][i]=arr2D[i][j];//转置核心
}
}
/************/
for(intx[]:result_arr){
for(inte:x){
System.out.print(e+"");
}
System.out.println();
}
}
}
//importjava.util.Arrays;
//publicclasstransposition_Arrays2D{
//
// publicstaticvoidmain(String[]args){
// intarr2D[][]={{1,2,3},{4,5,6},{7,8,9}};
// /*定义结果数组变量,注意一定要先开辟一个内存,
// 否则只是地址传递,也就是说两个数组名实际上指向的是同一块内存*/
// intresult_arr[][]=newint[arr2D.length][];
// for(inti=0;i<arr2D.length;i++){
// result_arr[i]=newint[arr2D[i].length];
// }
//
////进行元素倒置
//for(inti=0;i<arr2D.length;i++){
// for(intj=0;j<arr2D[i].length;j++){
// result_arr[j][i]=arr2D[i][j];
// }
//}
//
////showtheresultinmatrix
//for(intx[]:result_arr){
// for(inte:x){
// System.out.print(e);
// }
// System.out.println();
//}
//
// }
//
//}
Ⅶ 如何用java编写一个矩阵的转置
(别说格式有问题代码就是这样的)编写矩阵显示方法,用于显示我们的矩阵数据;
private static void printArray(int[][] arr){
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length;j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
填写一个要求解转置的矩阵方法;
编写行变列列变行的代码,即实现我们的矩阵值装置求解方法;
public static void main(String[] args) {
int arr[][] =new int[][]{{1,2,3},{4,5,6},{7,8,9}};
System.out.println("行列互换前");
printArray(arr);
int arr2[][]=new int[arr.length][arr.length];
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length;j++){
arr2[i][j]=arr[j][i];
}
}
System.out.println("行列互换后:");
printArray(arr2);
Ⅷ java矩阵转置
你的转置意思是 行列交换?
public static Object[][] turnA(Object[][] a){
Object[][] b=new Object[a[0].length][a.length];
for(int i=0;i<a.length; i++)
for(int j=0;j<a[0].length;j++)
b[j][i]=a[i][j];
return b;
}
这个方法转置的是对象矩阵,因此不能传入基本变量的数组,需要用类型包装器包装。
e.g:
Integer[][] i=new Integer[3][5];
//int[][] i=new int[4][3];
//Can't use here; Integer,Double,String,byte and so on..
Random r=new Random();
for(int j=0;j<i.length;j++){
Arrays.fill(i[j], r.nextInt(100));
System.out.println(Arrays.toString(i[j]));
}
Object[][] o=turnA(i);
for(int j=0;j<o.length;j++){
System.out.println(Arrays.toString(o[j]));
这是static void main里的一段验证程序,程序最前面需要
import java.util.*;
Ⅸ 5. 将一个5×5的二维数组转置到另一个5×5的二维数组(即沿主对角线翻转)(java语言).
packagetable;
publicclassRect
{
publicstaticvoidmain(String[]args)
{
int[][]orial={{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}};
for(int[]is:orial)
{
for(inti:is)
{
System.out.print(i+"");
}
System.out.println();
}
System.out.println();
int[][]dest1=newint[5][5];
for(inti=0;i<orial.length;i++)
{
for(intj=0;j<orial[i].length;j++)
{
dest1[i][j]=orial[orial.length-1-j][orial.length-1-i];
}
}
for(int[]is:dest1)
{
for(inti:is)
{
System.out.print(i+"");
}
System.out.println();
}
System.out.println("----------------------");
int[][]dest2=newint[5][5];
for(inti=0;i<orial.length;i++)
{
for(intj=0;j<orial[i].length;j++)
{
dest2[i][j]=orial[j][i];
}
}
for(int[]is:dest2)
{
for(inti:is)
{
System.out.print(i+"");
}
System.out.println();
}
}
}