62,626
社区成员
发帖
与我相关
我的任务
分享import java.util.Scanner;
public class Matrix {
public static void main(String[] args) {
int [][][]elem; //定义必要的变量
int [][]aArr;
// TODO Auto-generated method stub
System.out.println("--------矩阵运算-------");
System.out.println("-------请选择功能-------");
System.out.println("------1--矩阵加法------");
/* System.out.println("------2--矩阵减法------");
System.out.println("------4--矩阵乘法------");
System.out.println("------5--矩阵数乘------");*/
int i;
Scanner in=new Scanner(System.in);
i =in.nextInt();
switch(i) {
case 1:
//Set_GetElement.setElement(); //获取-->打印矩阵matrix
elem = Set_GetElement.setElement();
aArr = Sub_AddElement.setAddElement(elem[0], elem[1]);
Sub_AddElement.printAddElement(aArr);
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
}
}
}
class Sub_AddElement extends Set_GetElement{
public static int[][] setAddElement(int[][] matrix,int[][] matrix1) { //这里计算后要把结果返回,否则无法拿到你的计算结果
int[][] aArr=new int[matrix.length][matrix[0].length];
if(matrix !=null && matrix1 != null ) {
for(int i=0; i<aArr.length;i++) {
for(int j=0;j<aArr[i].length;j++) {
aArr[i][j]=matrix[i][j]+matrix1[i][j];
}
}
}
return aArr;
}
public static int[][] printAddElement(int[][] aArr){ //定义打印方法
System.out.println("-----A + B矩阵为-----");
for (int i=0;i<aArr.length ;i++ ){
for (int j=0;j<aArr[i].length ;j++ ){
System.out.print(aArr[i][j]+" "); //打印结果aArr
}
}
return aArr;
}
}
class Set_GetElement{ //设置矩阵行列数方法
public static int[][][] setElement() { //这里要返回你的输入结果,否则无法拿到你的输入数据
int[][][] res = new int[2][][];
Scanner in=new Scanner(System.in);
System.out.println("请输入A矩阵行、列数--如(2 2)");
int x=in.nextInt(); //A矩阵行数
int y=in.nextInt(); //A矩阵列数
res[0] = getElement(x, y); //将行列数x、y作为A矩阵getElement的参数
System.out.println("请输入B矩阵行、列数--如(2 2)");
int z=in.nextInt(); //B矩阵列数
int w=in.nextInt(); //B矩阵列数
res[1] = getElement1(z,w); //将行列数z、w作为B矩阵getElement的参数
return res;
}
public static int[][] getElement(int x,int y){ //读取矩阵方法
int matrix[][]=new int[x][y];
System.out.println("请输入A矩阵"+x+"行"+y+"列矩阵元素:");
Scanner in=new Scanner(System.in);
for (int i=0;i<matrix.length ;i++ ){ // 外层循环控制
for (int j=0;j<matrix[i].length ;j++ ){ //内层循环控制
matrix[i][j]=in.nextInt();
}
}
PrintElement.printMatrix(matrix);
return matrix;
}
public static int[][] getElement1(int z,int w){
Scanner in=new Scanner(System.in);
int matrix1[][]=new int[z][w];
System.out.println("请输入B矩阵"+z+"行"+w+"列矩阵元素:");
for (int i=0;i<matrix1.length ;i++ ){ // 外层循环控制
for (int j=0;j<matrix1[i].length ;j++ ){ //内层循环控制
matrix1[i][j]=in.nextInt();
}
}
PrintElement.printMatrix1(matrix1);
return matrix1;
}
}
[/quote]对呀,刚刚上大一,学了一段时间想自己 编着试试,刚学到面向对象的章节,肯定会出很多问题的。总之还是谢谢您了,占用您时间了,实在感谢,我自己回去再琢磨琢磨。import java.util.Scanner;
public class Matrix {
public static void main(String[] args) {
int [][][]elem; //定义必要的变量
int [][]aArr;
// TODO Auto-generated method stub
System.out.println("--------矩阵运算-------");
System.out.println("-------请选择功能-------");
System.out.println("------1--矩阵加法------");
/* System.out.println("------2--矩阵减法------");
System.out.println("------4--矩阵乘法------");
System.out.println("------5--矩阵数乘------");*/
int i;
Scanner in=new Scanner(System.in);
i =in.nextInt();
switch(i) {
case 1:
//Set_GetElement.setElement(); //获取-->打印矩阵matrix
elem = Set_GetElement.setElement();
aArr = Sub_AddElement.setAddElement(elem[0], elem[1]);
Sub_AddElement.printAddElement(aArr);
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
}
}
}
class Sub_AddElement extends Set_GetElement{
public static int[][] setAddElement(int[][] matrix,int[][] matrix1) { //这里计算后要把结果返回,否则无法拿到你的计算结果
int[][] aArr=new int[matrix.length][matrix[0].length];
if(matrix !=null && matrix1 != null ) {
for(int i=0; i<aArr.length;i++) {
for(int j=0;j<aArr[i].length;j++) {
aArr[i][j]=matrix[i][j]+matrix1[i][j];
}
}
}
return aArr;
}
public static int[][] printAddElement(int[][] aArr){ //定义打印方法
System.out.println("-----A + B矩阵为-----");
for (int i=0;i<aArr.length ;i++ ){
for (int j=0;j<aArr[i].length ;j++ ){
System.out.print(aArr[i][j]+" "); //打印结果aArr
}
}
return aArr;
}
}
class Set_GetElement{ //设置矩阵行列数方法
public static int[][][] setElement() { //这里要返回你的输入结果,否则无法拿到你的输入数据
int[][][] res = new int[2][][];
Scanner in=new Scanner(System.in);
System.out.println("请输入A矩阵行、列数--如(2 2)");
int x=in.nextInt(); //A矩阵行数
int y=in.nextInt(); //A矩阵列数
res[0] = getElement(x, y); //将行列数x、y作为A矩阵getElement的参数
System.out.println("请输入B矩阵行、列数--如(2 2)");
int z=in.nextInt(); //B矩阵列数
int w=in.nextInt(); //B矩阵列数
res[1] = getElement1(z,w); //将行列数z、w作为B矩阵getElement的参数
return res;
}
public static int[][] getElement(int x,int y){ //读取矩阵方法
int matrix[][]=new int[x][y];
System.out.println("请输入A矩阵"+x+"行"+y+"列矩阵元素:");
Scanner in=new Scanner(System.in);
for (int i=0;i<matrix.length ;i++ ){ // 外层循环控制
for (int j=0;j<matrix[i].length ;j++ ){ //内层循环控制
matrix[i][j]=in.nextInt();
}
}
PrintElement.printMatrix(matrix);
return matrix;
}
public static int[][] getElement1(int z,int w){
Scanner in=new Scanner(System.in);
int matrix1[][]=new int[z][w];
System.out.println("请输入B矩阵"+z+"行"+w+"列矩阵元素:");
for (int i=0;i<matrix1.length ;i++ ){ // 外层循环控制
for (int j=0;j<matrix1[i].length ;j++ ){ //内层循环控制
matrix1[i][j]=in.nextInt();
}
}
PrintElement.printMatrix1(matrix1);
return matrix1;
}
}
import java.util.Scanner;
public class Matrix {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("--------矩阵运算-------");
System.out.println("-------请选择功能-------");
System.out.println("------1--矩阵加法------");
/* System.out.println("------2--矩阵减法------");
System.out.println("------4--矩阵乘法------");
System.out.println("------5--矩阵数乘------");*/
int i;
Scanner in=new Scanner(System.in);
i =in.nextInt();
switch(i) {
case 1:
Set_GetElement.setElement(); //获取-->打印矩阵matrix
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
}
}
}
Sub_AddElement代码:public class Sub_AddElement extends Set_GetElement{
public static void setAddElement(int[][] matrix,int[][] matrix1) {
int[][] aArr=new int[matrix.length][matrix[0].length];
if(matrix !=null && matrix1 != null ) {
for(int i=0; i<aArr.length;i++) {
for(int j=0;j<aArr[i].length;j++) {
aArr[i][j]=matrix[i][j]+matrix1[i][j];
}
}
}
}
public static int[][] printAddElement(int[][] aArr){ //定义打印方法
System.out.println("-----A + B矩阵为-----");
for (int i=0;i<aArr.length ;i++ ){
for (int j=0;j<aArr[i].length ;j++ ){
System.out.print(aArr[i][j]+" "); //打印结果aArr
}
}
return aArr;
}
}
Set_GetElement代码:
//读取、存储输入数据设置矩阵行列数
class Set_GetElement{ //设置矩阵行列数方法
public static void setElement() {
Scanner in=new Scanner(System.in);
System.out.println("请输入A矩阵行、列数--如(2 2)");
int x=in.nextInt(); //A矩阵行数
int y=in.nextInt(); //A矩阵列数
getElement(x, y); //将行列数x、y作为A矩阵getElement的参数
System.out.println("请输入B矩阵行、列数--如(2 2)");
int z=in.nextInt(); //B矩阵列数
int w=in.nextInt(); //B矩阵列数
getElement1(z,w); //将行列数z、w作为B矩阵getElement的参数
}
public static int[][] getElement(int x,int y){ //读取矩阵方法
int matrix[][]=new int[x][y];
System.out.println("请输入A矩阵"+x+"行"+y+"列矩阵元素:");
Scanner in=new Scanner(System.in);
for (int i=0;i<matrix.length ;i++ ){ // 外层循环控制
for (int j=0;j<matrix[i].length ;j++ ){ //内层循环控制
matrix[i][j]=in.nextInt();
}
}
PrintElement.printMatrix(matrix);
return matrix;
}
public static int[][] getElement1(int z,int w){
Scanner in=new Scanner(System.in);
int matrix1[][]=new int[z][w];
System.out.println("请输入B矩阵"+z+"行"+w+"列矩阵元素:");
for (int i=0;i<matrix1.length ;i++ ){ // 外层循环控制
for (int j=0;j<matrix1[i].length ;j++ ){ //内层循环控制
matrix1[i][j]=in.nextInt();
}
}
PrintElement.printMatrix1(matrix1);
return matrix1;
}
}