如何使用类

时间:2015-04-26 18:58:01

标签: java arraylist hashmap

我想编写一个程序,要求用户输入分子和分母并将它们存储在矩阵中并通过hashmap排列以下是我编写代码的问题,但我仍然有错误:

根据以下规范开发公共课Matrix [14分] Matrix类表示分数Number的矩阵符合以下规范,例如矩阵的大小为2行x 3列

  1. 该类有一个私有实例变量HashMap <Integer, ArrayList<Number>>,它表示来自的数字集合 班Number。其中Integer表示行数-2,如 上面的例子。 ArrayList<Number>包含的值 Numbers类的分数Number(每行中的元素)
  2. 该类有2个静态公共实例变量行和列。 其中rows表示矩阵中的行数。列数 表示每行ArrayList中元素的数量。
  3. 该类有一个双参数构造函数,用于创建和 初始化HashMap <Integer, ArrayList<Number>>实例对象和 按给定值设置行和列的值作为参数。
  4. 该类有一个公共方法void fillMatrix ( )。方法 使用Scanner类填充矩阵中Number的对象 根据每行中的项目数量。
  5. 该类有一个公共方法printMatrix()。它显示了 矩阵的项目如上面突出显示的行和列
  6. 该课程有一个公开方法Number getItem(int rowNO, int colNO) 获取并返回矩阵中的特定数字项 根据给定的论点。
  7. EX。 getItem(2, 3) returns __

    import java.util.*;
    public class Matrix extends Number{
    
        private HashMap <Integer, ArrayList<Number>> hMap;
        public static int rows;
        public static int cols;
    
       public Matrix(int r,int c){
    
            hMap = new HashMap <Integer, ArrayList<Number>>();
            rows = r;
            cols = c;
        }
        public void fillMatrix () {
    
            ArrayList<Number> numarr = new ArrayList<Number>();
            Scanner input = new Scanner(System.in);
            for(int i = 1; i <= rows; i++){
                for(int j = 1; j <= cols; j++){
    
                    System.out.print("Enter Nomerator");
                    int nom = input.nextInt();
    
                    System.out.print("Enter Denomerator");
                    int denom = input.nextInt();
                    numarr.add(new Number(nom,denom));
    
                }
            }
            for(int i = 1; i <= rows; i++){
                for(int j = 1; j <= cols; j++){
                    hMap.put(j, numarr.get(i));
                }
            }
           System.out.print(hMap);
        }
    }
    

0 个答案:

没有答案