「java输出矩阵倒置」字符串的倒置java

博主:adminadmin 2022-11-23 12:36:17 44

今天给各位分享java输出矩阵倒置的知识,其中也会对字符串的倒置java进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 怎么实现不定长度的矩阵转置

import java.util.Scanner;

public class $ {

    public static void main(String[] args) {

        int[][] arr = initData();

        System.out.println("输入的数据是----------------------");

        show(arr);

        arr = change(arr);

        System.out.println("传值后数据是----------------------");

        show(arr);

    }

    private static int[][] change(int[][] arr) {

        int size = arr.length;

        int[][] tmp = new int[size][size];

        for (int i = 0; i  arr.length; i++) {

            for (int j = 0; j  arr.length; j++) {

                tmp[i][j] = arr[size - i - 1][size - j - 1];

            }

        }

        return tmp;

    }

    private static void show(int[][] arr) {

        for (int[] a : arr) {

            for (int i : a) {

                System.out.print(i + "  ");

            }

            System.out.println();

        }

    }

    private static int[][] initData() {

        Scanner in = new Scanner(System.in);

        System.out.println("输入数字的长度");

        int size = in.nextInt();

        int[][] arr = new int[size][size];

        for (int i = 0; i  arr.length; i++) {

            for (int j = 0; j  arr.length; j++) {

                System.out.print("输入(" + i + "," + j + ")的值:");

                arr[i][j] = in.nextInt();

            }

        }

        return arr;

    }

}

java的矩阵转置找问题

你的Java矩阵转置程序我帮你改好了,主要问题是应该把矩阵中以主对角线对称的数两两交换,而不是简单赋值,冲掉原来的数,而且for-j循环只要访问主对角线下方的数就可以了,不要访问全矩阵的数,那样会使矩阵主对角线下方的数交换两次,从而等于没有转置.

完整的Java矩阵转置程序如下(改动的地方见注释)

package cn.itcast.chapter01;

public class ZhuanZhi {

 public static void main(String[] args) {

  int a[][]={{1,2,3},{4,5,6},{7,8,9}};

  for(int i=0;ia.length;i++)

  {

   for(int j=0;ji;j++)//这里把for(int j=0;ja[i].length;j++)改成for(int j=0;ji;j++)只访问主对角线下方的数

   {

    //这里交换主对角线下方的数和主对角线上方的数

    int temp=a[i][j];

    a[i][j]=a[j][i];

    a[j][i]=temp;

 

   }

 

  }

  //这里单独输出转置后的矩阵

  for(int i=0;ia.length;i++)

  {

   for(int j=0;ja[i].length;j++)

   {

    System.out.print(a[i][j]+" ");

   }

   System.out.println();

  }

 }

}

运行结果

java矩阵转置

你的转置意思是 行列交换?

public static Object[][] turnA(Object[][] a){

Object[][] b=new Object[a[0].length][a.length];

for(int i=0;ia.length; i++)

for(int j=0;ja[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;ji.length;j++){

Arrays.fill(i[j], r.nextInt(100));

System.out.println(Arrays.toString(i[j]));

}

Object[][] o=turnA(i);

for(int j=0;jo.length;j++){

System.out.println(Arrays.toString(o[j]));

这是static void main里的一段验证程序,程序最前面需要

import java.util.*;

Java输出转置矩阵

我按照你的情况写了个,能运行。希望对你有帮助!

Scanner scan = new Scanner(System.in);

int [][] arry;

int m,n;

m = scan.nextInt();

n = scan.nextInt();

arry = new int [m][n];

for(int i=0;iarry.length;i++){

for(int j = 0;jarry[i].length;j++ ){

System.out.print("* ");

}

System.out.println();

}

scan.close();

如何用java编写一个矩阵的转置?

int a[][] = {{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4}};

        int b[][] = new int [4][7];

        for (int i = 0; i 4; i++) {

            for (int j = 0; j 7; j++) {

                b[i][j] = a[j][i];

            }

        }

        System.out.println("矩阵a:");

        for (int i = 0; i 7; i++) {

            for (int j = 0; j 4; j++) {

                if (j 3) {

                    System.out.print(a[i][j] + " ");

                } else {

                    System.out.println(a[i][j] + " ");

                }

            }

        }

        System.out.println("矩阵a转置:");

        for (int i = 0; i 4; i++) {

            for (int j = 0; j 7; j++) {

                if (j 6) {

                    System.out.print(b[i][j] + " ");

                } else {

                    System.out.println(b[i][j] + " ");

                }

            }

        }

代码写得烂不要喷我,我想解决思路就是这样吧!

java使矩阵转置

转置就是行列对换,把数组中的数据从[i][j]变成[j][i]就可以了。

public class T{

public static int row = 10;

public static int col = 20;

public static void main(String argv[]) throws Exception {

int a[][] = new int[row][col]; 

int b[][] = new int[col][row];

//补充A的数据

for (int i=0;irow;i++)

for (int j=0;jcol;j++)

b[j][i] = a[i][j];

//显示B中的数据

}

}

关于java输出矩阵倒置和字符串的倒置java的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。