qq_43426084 2019-06-24 17:08 采纳率: 0%
浏览 270

如何将此代码加入窗口?

package shiyan2;
import java.util.Scanner;

public class shiyan01{

public static void main(String [] args){               

    @SuppressWarnings("resource")
    Scanner input = new Scanner(System.in);


      System.out.println("请输入矩阵A的行数m");         //矩阵A的行数
      int m = input.nextInt();
      System.out.println("请输入矩阵A的列数n");         //矩阵A的列数
      int n = input.nextInt();
      System.out.println("请按顺序输入矩阵A的元素,用空格隔开同行元素,用回车换行");
      int a[][] = new int[m][n];                        
      for (int i=0;i<m;i++)                             
          for (int j=0;j<n;j++)
            a[i][j] = input.nextInt();        

      System.out.println("请输入矩阵B的行数p");         //矩阵B的行数
      int p = input.nextInt();
      System.out.println("请输入矩阵B的列数q");         //矩阵B的列数
      int q = input.nextInt();
      System.out.println("请按顺序输入矩阵B的元素,用空格隔开同行元素,用回车换行");
      int b[][] = new int[p][q];
      for (int i=0;i<p;i++)                             //读取矩阵B的各个元素
          for (int j=0;j<q;j++)
            b[i][j] = input.nextInt(); 

      System.out.println("请输入要执行的矩阵计算(1:A+B, 2:A-B, 3:A*B, 4:转置,5:求逆,6:旋转反射)");
      int s = input.nextInt();                          //s控制采取哪种运算

    System.out.println("矩阵A:");                       //输出矩阵A和矩阵B
    print(a);
    System.out.println("矩阵B:");
    print(b);

     switch(s) {                                        //根据s调用运算方法
      case 1 :
             System.out.println("您的矩阵加法计算结果为:");
              print(add(a, b));
              break;

      case 2 :
             System.out.println("您的矩阵减法计算结果为:");
              print(sub(a, b));
              break;

      case 3 :
             System.out.println("您的矩阵乘法计算结果为:");
              print(mul(a, b));
              break;
      case 4:
          System.out.println("您的矩阵转置计算结果为:");
          print(zhuanzhi(a, b));
          break;
     default: System.out.println("选择错误");

}
}

   public static void print(int [][] c){        //printMatrix方法用于输出矩阵
        for(int i=0; i<c.length; i++){  
            for(int j=0; j<c[0].length; j++){  
                System.out.print(c[i][j]); 
                System.out.print("   ");                   
            }
            System.out.println();  
        }  
        System.out.println();  
    }


   public static int [][] add(int [][] a, int [][] b){  //add方法实现矩阵加法运算
       int c[][] = new int[a.length][a[0].length]; 
        if (a.length!=b.length||a[0].length!=b[0].length)
          {System.out.println("您输入的两个矩阵行列不匹配,无法完成加法运算!");
          return c;}

        else{
         for(int i = 0 ; i<  a.length ; i++)
         for(int j = 0 ; j < a[0].length ; j++){   
            c[i][j] = a[i][j] + b[i][j];
         } 
         return c;
        }
   }

   public static int [][] sub(int [][] a, int [][] b){  //sub方法实现矩阵减法运算
       int c[][] = new int[a.length][a[0].length];           
        if (a.length!=b.length||a[0].length!=b[0].length)
        {System.out.println("您输入的两个矩阵行列不匹配,无法完成减法运算!");
        return c;}

        else{
       for(int i = 0 ; i<  a.length ; i++)
       for(int j = 0 ; j < a[0].length ; j++){
      c[i][j] = a[i][j] - b[i][j];
       } 
       return c;
        }

}

   public static int [][] mul(int [][] a, int [][] b){  //mul方法实现矩阵乘法运算
       int  c[][] =  new int[a.length][b[0].length];           
       if (a[0].length!=b.length)
        {System.out.println("您输入的两个矩阵行列不匹配,无法完成乘法运算!");
         return c;}
       else{                
         for(int i = 0 ; i<  a.length ; i++)
         for(int j = 0 ; j < b[0].length ; j++){
            for(int k = 0 ; k < a[0].length ; k++)
            c[i][j] += a[i][k] * b[k][j] ; 
         } 
         return c;
       }

   }

   public static int [][] zhuanzhi(int [][] a, int [][] b){  //zhuanzhi方法实现矩阵转置运算
       int  c[][] =  new int[a.length][b[0].length];           
       if (a[0].length!=b.length)
        {System.out.println("您输入的两个矩阵行列不匹配,无法完成转置");
         return c;}
       else{                
         for(int i = 0 ; i<  a.length ; i++)
         {
            for(int k = 0 ; k < a[0].length ; k++)
            c[i][k] = a[k][i]  ; 
         } 
         return c;
       }
   }

}


  • 写回答

1条回答 默认 最新

  • 最菜的Bird 2019-06-25 18:04
    关注

    你所指的窗口指的是命令行窗口吗?
    如果是,命令行输入(Test.java 是你的shiyan的java文件,首先进入文件所在的目录)
    -javac Test.java
    -java Test

    评论

报告相同问题?

悬赏问题

  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常