《封装一类对矩阵操作的对象——Java第六周》

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:   《封装一类对矩阵操作的对象——Java第六周》                          
* 作    者:       刘江波                      
* 完成日期:    2012     年   10    月    7    日
* 版 本 号:    v1.1     

* 对任务及求解方法的描述部分
* 问题描述: 

封装一类对矩阵操作的对象,该类对象能够对矩阵进行运算,如矩阵中数据的位置变换功能、矩阵的加法功能、矩阵的乘法功能。提示:矩阵的乘法规则。
 
* 程序头部的注释结束
*/

package matrix;  
  
class long_weight {  
    int line, column;  
    int[][] a;  
  
    long_weight() {  
        line = 0;  
        column = 0;  
    }  
  
    long_weight(int line, int column) {  
        this.line = line;  
        this.column = column;  
        int i, j;  
        a = new int[line][column];  
        for (i = 0; i < line; i++)  
            for (j = 0; j < column; j++)  
                // 把矩阵元素初始化为零   
                a[i][j] = 0;  
    }  
  
    // 位置变换   
    void change(int line, int column, int change1, int change2) {  
        int change;  
        change = a[line][column];  
        a[line][column] = a[change1][change2];  
        a[change1][change2] = change;  
    }  
  
    // 给任意元素置值   
    void set_number(int line, int column, int number) {  
        a[line][column] = number;  
    }  
  
    // 得到所有的矩阵元素   
    void get_all() {  
        if (line == 0 && column == 0) {  
            System.out.println("该矩阵不存在!");  
        } else {  
            for (int i = 0; i < line; i++) {  
                for (int j = 0; j < column; j++)  
                    System.out.print(a[i][j] + " ");  
                System.out.println();  
            }  
        }  
    }  
  
    // 矩阵元素相加   
    static long_weight add(long_weight s, long_weight a) {  
        long_weight copy = new long_weight(s.line, s.column);  
        for (int i = 0; i < s.line; i++)  
            for (int j = 0; j < s.column; j++)  
                copy.a[i][j] = s.a[i][j] + a.a[i][j];  
        return copy;  
    }  
  
    // 矩阵元素相乘   
    static long_weight multiplication(long_weight s, long_weight b) {  
        int sum = 0;  
  
        if (s.column != b.line) {  
            System.out.println("因为a数组与b数组不同,所以不能相乘!");  
            // System.out.println("因为a数组第"+i+"行与b数组第i行元素个数不同,所以不能相乘!");   
            return null;  
        }  
  
        // 2.得到C矩阵的行数和列数,以产生C矩阵   
        long_weight c = new long_weight(s.line, b.column);  
        // 3.输出结果矩阵C的值   
        System.out.println("按二维方式输出C矩阵:");  
        for (int i = 0; i < s.line; ++i) {  
            for (int j = 0; j < b.column; ++j) {  
                sum = 0;  
                for (int m = 0; m < s.column; ++m) {  
                    // for(int k = 0;m 


 

你可能感兴趣的:(JAVA报告提交,java,matrix,c,class,任务,null)