重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
(别说格式有问题代码就是这样的)编写矩阵显示方法,用于显示我们的矩阵数据;
在若羌等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、网站设计 网站设计制作按需设计,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,成都外贸网站制作,若羌网站建设费用合理。
private static void printArray(int[][] arr){
for(int i=0;iarr.length;i++){
for(int j=0;jarr.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;iarr.length;i++){
for(int j=0;jarr.length;j++){
arr2[i][j]=arr[j][i];
}
}
System.out.println("行列互换后:");
printArray(arr2);
/*我的想法是,先把二维矩阵转换成一维矩阵,这个循环一下就可以了,然后把输入的二维位置也转换成一维的位置,依此往前替换,补0,然后把这个一维矩阵再转换成二维矩阵**/
public static void main(String[] args) {
int[][] erwei = new int[][]{{1,10,3},{4,55,6},{73,8,9}};
int[] yiwei = toyiwei(erwei);
int x=1,y=2,num=0;
//要移动的元素在一维矩阵上的位置
num = (y-1)*erwei.length+(x-1);
//替换
for(int i=num;iyiwei.length-1;i++){
yiwei[i] = yiwei[i+1];
}
//补0
yiwei[yiwei.length-1]=0;
//转换为二维矩阵
erwei = toerwei(yiwei,erwei.length,erwei[0].length);
//打印
for(int i=0;ierwei.length;i++){
for(int j=0;jerwei[i].length;j++){
System.out.print(erwei[i][j]+" ");
}
System.out.println();
}
}
//二维矩阵转换成一维矩阵
static int[] toyiwei(int[][] erwei)
{
int[] rs = new int[erwei.length*erwei[0].length];
for(int i=0;ierwei.length;i++){
for(int j=0;jerwei[i].length;j++){
rs[i*erwei.length+j] = erwei[i][j];
}
}
return rs;
}
//一维矩阵转换成二维矩阵
static int[][] toerwei(int[] yiwei,int a,int b)
{
int[][] erwei = new int[a][b];
for(int i=0;ia;i++){
for(int j=0;jb;j++){
erwei[i][j]=yiwei[i*a+j];
}
}
return erwei;
}
借花献佛
/**
* 实现二维数组的转置
* @author HAN
*
*/
public class transposition_Arrays2D_ch6_4 {
final static double PI=3.1415;
public static void main(String[] args) {
/*StaticTest st1=new StaticTest();
StaticTest st2=new StaticTest();
st1.method2("HAN");*/
/*****定义要用于转置的二维数组*******/
int arr2D[][]={{1,2,3},{4,5,6},{7,8,9}};
/*****构造结果新二维数组用于存放转置结果*******/
/*定义结果数组变量,注意 一定要先开辟一个内存,
否则只是地址传递,也就是说两个数组名实际上指向的是同一块内存*/
//而构造二维数组可以为维度来进行,不一定是一个矩阵,即每一行的长度不一定相同
int result_arr[][]=new int[arr2D.length][];//先实现第一维
for(int i=0 ; iarr2D.length;i++){ //再实现第二维
result_arr[i]=new int[arr2D[i].length];
}
// int result_arr[][]=Arrays.copyOf(arr2D, arr2D.length);
//上面这个命令行行不通!
/*****输出用于转置的二维数组*******/
for (int x[]:arr2D){
for(int e:x){
System.out.print(e+" ");
}
System.out.println();
}
System.out.println();
/*******进行元素倒置******/
for(int i=0 ; iarr2D.length;i++){
for(int j=0; jarr2D[i].length;j++){
result_arr[j][i]=arr2D[i][j]; //转置核心
}
}
/*****show the result in the result matrix*******/
for (int x[]:result_arr){
for(int e:x){
System.out.print(e+" ");
}
System.out.println();
}
}
}
//import java.util.Arrays;
//public class transposition_Arrays2D {
//
// public static void main(String[] args) {
// int arr2D[][]={{1,2,3},{4,5,6},{7,8,9}};
// /*定义结果数组变量,注意 一定要先开辟一个内存,
// 否则只是地址传递,也就是说两个数组名实际上指向的是同一块内存*/
// int result_arr[][]=new int[arr2D.length][];
// for(int i=0 ; iarr2D.length;i++){
// result_arr[i]=new int[arr2D[i].length];
// }
//
// // 进行元素倒置
// for(int i=0 ; iarr2D.length;i++){
// for(int j=0; jarr2D[i].length;j++){
// result_arr[j][i]=arr2D[i][j];
// }
// }
//
// // show the result in matrix
// for (int x[]:result_arr){
// for(int e:x){
// System.out.print(e);
// }
// System.out.println();
// }
//
// }
//
//}
可以使用嵌套的for循环来输出一个矩阵。以下是一个示例代码,它将创建一个大小为N×N的矩阵,其中N是从用户输入的数字中获取的。
import java.util.Scanner;
public class Matrix {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入矩阵的大小: ");
int n = scanner.nextInt();
// 创建一个大小为n x n的矩阵
int[][] matrix = new int[n][n];
// 初始化矩阵
for (int i = 0; i n; i++) {
for (int j = 0; j n; j++) {
matrix[i][j] = i * n + j + 1;
}
}
// 输出矩阵
for (int i = 0; i n; i++) {
for (int j = 0; j n; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
在上面的示例代码中,首先从用户输入中获取矩阵的大小,然后使用两个for循环来创建一个大小为n×n的矩阵,并将其初始化。最后,再次使用两个for循环来输出矩阵的值。