一个矩阵问题
import java.util.Scanner;
public class Juzheng1
{ public static void main(String args[])
{ int a[][]=new int[3][4]; //预先定义输入3行4列
int b[][]=new int[4][3];
int i,j;
System.out.println( "input matrix a: ");
for(i=0;i <3;i++)
{ for(j=0;j <4;j++)
a[i][j]=input.nextInt();
}
。。。。。。。。
想写个矩阵转置,可以随便输入m*n的矩阵,然后将其转置并输出,上面写的只是预先定义的几行几列而并不适用与m*n的矩阵,哪位能帮帮忙?
------解决方案--------------------mark
------解决方案--------------------把m和n定义成可以传入的参数,先确认下你是想以那种方式传入,比如文本、命令行、其他类或者,在你的代码中定义好传入参数的就行,楼上方法楼主如果看懂了,这个问题也就解决了
------解决方案--------------------import java.util.Scanner;
public class MatrixTest {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int row,col;
//输入行
System.out.println( "row: ");
row = in.nextInt();
//输入列
System.out.println( "col: ");
col = in.nextInt();
//根据行和列定义存放原矩阵的数组
int[][] originalMatrix = new int[row][col];
//定义存放转置矩形的数组
int[][] transposeMatrix = new int[col][row];
//提示用户输入原矩阵的每个元素,用0为起始坐标
for(int i = 0;i < row;i++){
for(int j = 0; j < col;j++){
System.out.println( "original[ " + i + "][ " + j + "]: ");
originalMatrix[i][j] = in.nextInt();
transposeMatrix[j][i] = originalMatrix[i][j];
}
}
//输出原矩阵
System.out.println( "originalMatrix: ");
for(int i = 0;i < row;i++){
for(int j = 0; j < col;j++){
System.out.printf( "%4d ",originalMatrix[i][j]);
}
System.out.println();
}
//输出转置后的矩阵
System.out.println( "transposeMatrix: ");
for(int j = 0;j < col;j++){
for(int i = 0;i < row;i++){
System.out.printf( "%4d ",transposeMatrix[j][i]);
}
System.out.println();
}
}
}
------解决方案--------------------利用输入流
class FromKeyBoard{
//初始化用来接收从键盘输入的字符串
String str = null;
//初始化一个将字符串转化成整形的整形变量
int result = 0;
public FromKeyBoard_method(){
System.out.println( "输入数值: ");
//因为涉及到键盘输入,所以要捕捉异常
try{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
str = bf.readLine();
result = Integer.parseInt(str);
}catch(
IOException e){}
rerurn result;
}
//然后在main函数中定义一个FromKeyBoard的对象然后两次调用FromKeyBoard_method()
//几下来就不用说了吧?祝你好运!
------解决方案--------------------只要把3,4改成命令行参数转换的值就可以了
------解决方案--------------------我是初学者,也试着写一下,编译通过了
/*This program tends to transpose the Matrix user input
*and then outputs the result.
*
*