Java 如何实现二维对象数组?
我想使用用户输入实现一个二维数组。我有一本Java 如何实现二维对象数组?,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我想使用用户输入实现一个二维数组。我有一本书课。它有两个变量:int price和String name。我想以二维数组存储5本书的信息书籍课程代码如下: 公共课堂教材{ 字符串名; 国际价格; 公共字符串getName(){ 返回名称; } 公共void集合名(字符串名){ this.name=名称; } public int getPrice(){ 退货价格; } 公共无效设置价格(整数价格){ 这个价格=价格; } } MainClass代码: publicstaticvoidmain(
书
课。它有两个变量:int price
和String name
。我想以二维数组存储5本书的信息<代码>书籍课程代码如下:
公共课堂教材{
字符串名;
国际价格;
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
public int getPrice(){
退货价格;
}
公共无效设置价格(整数价格){
这个价格=价格;
}
}
Main
Class代码:
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int l=5;
Book[]bk=新书[l][l];
对于(int i=0;i
您从未声明过数组歌曲,也许您想写
bk[i][j] = ...
现在,您希望为您阅读的每个sname和sprice创建一本新的“书”,因此您有两个选项:
1) 在每次迭代中创建一本新的空书
Book tmp = new Book();
然后你确定他的名字和价格
tmp.setName(sname);
tmp.setPrice(sprice);
然后将新书分配给当前的bk元素
bk[i][j] = tmp;
bk[i][j] = new Book(sname, sprice);
或
2) 将构造函数添加到以名称和价格作为参数的类书中
public Book(String n, int p){
name = n;
price = p;
}
并使用它立即创建一本新书,并将其分配给bk的当前元素
bk[i][j] = tmp;
bk[i][j] = new Book(sname, sprice);
你从来没有宣布过阵列歌曲,也许你想写
bk[i][j] = ...
现在,您希望为您阅读的每个sname和sprice创建一本新的“书”,因此您有两个选项:
1) 在每次迭代中创建一本新的空书
Book tmp = new Book();
然后你确定他的名字和价格
tmp.setName(sname);
tmp.setPrice(sprice);
然后将新书分配给当前的bk元素
bk[i][j] = tmp;
bk[i][j] = new Book(sname, sprice);
或
2) 将构造函数添加到以名称和价格作为参数的类书中
public Book(String n, int p){
name = n;
price = p;
}
并使用它立即创建一本新书,并将其分配给bk的当前元素
bk[i][j] = tmp;
bk[i][j] = new Book(sname, sprice);
因此,您需要的是
Book[String name][int price]
。二维阵列不是这样工作的
在宣布:
intl=5;
Book[]bk=新书[l][l];
您正在实现一个2DBook
数组,该数组可以有25条图书记录。
1D系列书籍
s足以满足您的需求
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int l=25;//可以有任何尺寸
Book[]bk=新书[l];
对于(int i=0;i
所以您需要的是图书[String name][int price]
。二维阵列不是这样工作的
在宣布:
intl=5;
Book[]bk=新书[l][l];
您正在实现一个2DBook
数组,该数组可以有25条图书记录。
1D系列书籍
s足以满足您的需求
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int l=25;//可以有任何尺寸
Book[]bk=新书[l];
对于(int i=0;i
不能使用sname
哪种类型的String
作为数组的索引。如果sname
是字符串中的int值,请使用Integer.parseInt
brother,如何将书名转换为整数?我想输入一个二维数组中的书名和价格。因此名称应该是string,price应该是int、double或float。这里的开发人员可能会考虑实现一个密钥(一些独特的整数或唯一字符串),这样您就可以更容易地在一个字典中收集数据,该字典由键值对组成。不能使用<代码> sNe> <代码>类型>代码>字符串< /代码>作为数组索引。如果sname
是字符串中的int值,请使用Integer.parseInt
brother,如何将书名转换为整数?我想输入一个二维数组中的书名和价格。因此名称应该是string,price应该是int、double或float。这里的开发人员可能会考虑实现一个键(可能是一些独特的整数或唯一字符串),这样您就可以更容易地在一个字典中收集数据,该字典由键值对组成。谢谢您的回答。但是bk[][]变量类型呢?@Almamun bk中的每个元素都是一本书,所以它包含一个名称和一个价格是的,我知道了。但那样做是行不通的。然后定义一维数组Book bk[]=new Book[l];只对循环使用一个,然后使用构造函数设置值。bk[i]=新书(名称、价格);谢谢你的回答。但是bk[][]变量类型呢?@Almamun bk中的每个元素都是一本书,所以它包含一个名称和一个价格是的,我知道了。但那样做是行不通的。然后定义一维数组Book bk[]=new Book[l];只对循环使用一个,然后使用构造函数设置值。bk[i]=新书(名称、价格);