Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何实现二维对象数组?_Java_Arrays_Multidimensional Array - Fatal编程技术网

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];
您正在实现一个2D
Book
数组,该数组可以有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];
您正在实现一个2D
Book
数组,该数组可以有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]=新书(名称、价格);