如何使用类的对象在java的hashmap中添加arraylist
我想编写一个程序,要求用户输入分子和分母,并将它们存储在矩阵中,然后通过hashmap进行排列。下面是我编写代码时遇到的问题,但我仍然有错误: 根据以下规范开发公共类如何使用类的对象在java的hashmap中添加arraylist,java,arraylist,hashmap,Java,Arraylist,Hashmap,我想编写一个程序,要求用户输入分子和分母,并将它们存储在矩阵中,然后通过hashmap进行排列。下面是我编写代码时遇到的问题,但我仍然有错误: 根据以下规范开发公共类矩阵[14分] 矩阵类表示符合以下规范的分数数字矩阵,例如矩阵大小为2行x 3列 该类有一个私有实例变量HashMap,它表示来自 类别编号。其中Integer表示行数-2,如中所示 上面的例子数组列表包含 Number类的分数Number(每行中的元素) 该类有2个静态公共实例变量ROW和COL。 其中,rows表示矩阵中的行数。
矩阵
[14分]
矩阵
类表示符合以下规范的分数数字
矩阵,例如矩阵大小为2行x 3列
HashMap
,它表示来自
类别编号
。其中Integer表示行数-2,如中所示
上面的例子<代码>数组列表包含
Number
类的分数Number
(每行中的元素)ArrayList
中的元素数HashMap
实例对象和
以给定值作为参数设置行和列的值fillMatrix()
。方法
使用Scanner
类填充矩阵中Number
的对象
根据每行中的项目数printMatrix()
。它显示
矩阵的项目作为行和列,如上所示Number
getItem(int rowNO,int colNO)
它获取并返回矩阵中的特定数字项
根据给定的论点getItem(2,3)返回
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);
}
}
import java.util.*;
公共类矩阵扩展数{
私有HashMap-hMap;
公共静态int行;
公共静态int cols;
公共矩阵(int r,int c){
hMap=newhashmap();
行=r;
cols=c;
}
公共空间填充矩阵(){
ArrayList numar=新的ArrayList();
扫描仪输入=新扫描仪(System.in);
对于(int i=1;i,假设你将分子除以分母的乘积的分数存储在你的矩阵中,不清楚你在用加法做什么(新的数字(nom,denom)),此数字构造函数不存在。为什么矩阵从数字扩展。这不清楚,请澄清您的问题。还有另一个名为“数字”的类计算分数的加法和减法,有setter、getter和to string方法。我对它没有问题,但这个问题与它有关。我应该使用一个属于Number类的对象来使用hashmap创建一个数组。数组应该有列和行。我填充了数组,但我无法按列和行对它进行排序。1/2 3/4 5/2“新线路”3/6 4/8 1/2数组应该是这样的,这是因为你填充Hashmap的方式不正确,我可以在答案中添加几行代码。应该使用你现有的代码填充Hashmap的方式,让我知道它对你不起作用,然后我可以删除答案,你可能想显示你的数字类代码,因为你的问题不清楚,类号与Java类号冲突