Java对象数组-创建一个空参数的方法,返回类Book的对象数组?



我尝试了多种方法来格式化这个,每次我都错了。显示这些代码的正确方法是什么?

创建一个名为setupMarket的方法,参数为空,但它需要返回类Book的对象数组。

这个方法将创建一个大小为4的Book类对象数组。初始化其中的4个对象第一个对象是一本名为"Computer Science"的书,id为0,价格为50美元第二个对象是一本名为"Maths"的书,id为1,价格为40美元第三个对象是一本名称为"生物学"的书,id为2,价格为70美元第四个对象是一本名称为"Computer Science"的书,id为3,价格为60美元。

提前感谢。

乍一看,我猜这几乎是你需要的(未测试)

public class Book {
private int id;
private String name;
private int price;

public Book(int id, String name, int price) {
this.id = id;
this.name = name;
this.price = price;
}

// getters setters
}

你的方法是

public Book[] setupMarket() {
Book[] books = new Book[4];
books[0] = new Book(0,  “Computer Science”, 50);
books[1] = new Book(1, “Maths”, 40);
books[2] = new Book(2, “Biology”, 70);
books[3] = new Book(3, “Computer Science”, 60);
return books; 

}

请在评论中告诉我更多。

如果您没有Book类,则使用上述答案。创建类并添加数据。根据需求填写数据。你也可以检查下面给出的结果。这里我是基于字符串数组填充数据,这将有助于你在未来添加更多的数据。

情况:当您没有任何Book类时。

step:1 =>创建Book类

class Book{
String name;
int id;
int price;
public Book(String name, int id, int price) {
this.name = name;
this.id = id;
this.price = price;
}
}

步骤:2 =>用data设置对象并返回数组

public Book[] setUpMarket() {
Book[] books = new Book[4];
/*This is used to default data, used to initialized into object.
* here java =  [book name], 1 [id], 15 [price]
*list Info is used to hold the data for individual object
* separated by ','
*/ 
String listInfo[] = {"java,1,15","php,2,25"};
//Loop throw the data and fill the object and add into the array.
for(int i = 0 ; i < listInfo.length; i++) {
books[i] = new Book(listInfo[i].split(",")[0],
Integer.parseInt(listInfo[i].split(",")[1]),
Integer.parseInt(listInfo[i].split(",")[2]););
}
//return array
return books;
}

情况:当你有Book类时,只使用上面的方法

Book class

public enum Book {
ID0("Computer Science", "$50"),
ID1("Maths", "$40"),
ID3("Biology", "$70"),
ID4("Computer Science", "$80");

private final String desc;
private final String price;

Book(String desc, String price){
this.desc = desc;
this.price = price;
}
public String setMarketDesc() {
return desc;
}
public String setMarketPrice() {
return price;
}
}

主类

public class BookMain{
public static void main(String[] args) {
for(Book people: Book.values()) {
System.out.printf("%st%st%stn", people, people.setMarketDesc(), people.setMarketPrice());
}
}
}   

测试和打印


ID0 Computer Science    $50 
ID1 Maths   $40 
ID3 Biology $70 
ID4 Computer Science    $80

最新更新