Gru*_*ear 10 java arrays types object
比如我
3本书:
Booknumber (int), Booktitle (string), Booklanguage (string), Bookprice (int).
现在我想要一个名为的数组books[3][4].
我是通过setBooknumber设置的数据,如下所示:
Book1.getBooknumber(), Book1.getBooktitle(),...,Book3.getBookprice().
现在我怎么意识到这一点books[3][4] array.我不能称之为String books[][] = new String [3][4].因为我无法Booknumber (int)进入它.
我不希望Booknumber成为String也不是Bookprice.请问我怎么意识到这一点?
现在进一步阐述它.
我有2节课.
public class book{
String Booktitle, Booklanguage;
int Booknumber, Bookprice;
//constructor
//get
//set
}
Run Code Online (Sandbox Code Playgroud)
和
public class bookUI
{
public static void main(String arg[])
{
book book1 = new book();
book book2 = new book();
book book3 = new book();
book1.setBooktitle();
...
book3.setBookprice();
//Here I want to have books[3][4] Array. And gettin the data via book1.get...book3.get into the array
}
}
Run Code Online (Sandbox Code Playgroud)
Chr*_*ore 29
public class Book
{
public int number;
public String title;
public String language;
public int price;
// Add constructor, get, set, as needed.
}
Run Code Online (Sandbox Code Playgroud)
然后将您的数组声明为:
Book[] books = new Book[3];
Run Code Online (Sandbox Code Playgroud)
编辑:为了回应OP的困惑,Book应该是一个对象,而不是一个数组.每本书都应该由它自己创建(通过设计合理的构造函数),然后添加到数组中.实际上,我不会使用数组,而是使用ArrayList.换句话说,您正试图将数据强制转换为不适合手头任务的容器.
我敢说50%的编程是为您的数据选择正确的数据结构.如果有一个很好的结构选择,算法自然会遵循.
正确完成后,您可以将UI类看起来像:编辑:泛型添加到以下代码段中.
...
ArrayList<Book> myLibrary = new ArrayList<Book>();
myLibrary.add(new Book(1, "Thinking In Java", "English", 4999));
myLibrary.add(new Book(2, "Hacking for Fun and Profit", "English", 1099);
Run Code Online (Sandbox Code Playgroud)
等等
现在您可以使用Collections界面并执行以下操作:
int total = 0;
for (Book b : myLibrary)
{
total += b.price;
System.out.println(b); // Assuming a valid toString in the Book class
}
System.out.println("The total value of your library is " + total);
Run Code Online (Sandbox Code Playgroud)