【问题标题】:Putting several textfields into one arraylist将多个文本字段放入一个数组列表
【发布时间】:2015-05-25 18:26:57
【问题描述】:

在编码方面我是个菜鸟。我即将创建一个程序,您可以在其中添加书名 (String)、作者 (String)、发行年份 (int) 和流派 (String),并在文本字段中写入。这些东西应该保存在数组列表中。我不知道如何将所有这些项目添加到数组列表中的同一个插槽中。请尽快提供帮助。

【问题讨论】:

  • 您可以创建一个名为 book 的类,其中包含字段;标题、作者、年份和流派,然后将这些对象传递到 ArrayList
  • @MattBrzezinski 我同意你的看法。这绝对应该放在一个类中。这就是类的用途。
  • @Forseth11 这个类看起来怎么样?遗憾的是,我所有的尝试都失败了
  • @Bosse 我发布了一个答案。我将添加一个类示例。给我一点时间。

标签: java arrays string arraylist add


【解决方案1】:

所以你需要用 getter/setter 创建一个 book 类。

public class Book {
    public String title; 
    public String author; 
    public int year; 
    public String genre; 
}

然后你创建一本书

Book book = new Book(); 

使用 setter 设置实例变量(或者,如果您有带有适当参数的构造函数,则可以在创建 book 对象时执行此操作)

book.setAuthor("R.L.Stein"); 

一旦设置了所有字段,您就可以将图书添加到数组列表中。

ArrayList<Book> books = new ArrayList<Book>(); 
books.add(book); 

要打印,你应该在 book 类中有一个 toString() 方法

public String toString(){
   return "Title: "+title+"\nAuthor: "+author+"\nYear: "+year+"\nGenre: "+
        genre; 
}

现在,当您打印书籍对象时,它将显示其所有信息。最好然后使用循环遍历列表并打印书籍中的每一本书

for(int i=0; i<books.size(); i++){
   System.println(books.get(i)); 
}

【讨论】:

  • 完成这些步骤后,我如何在 for 循环的帮助下显示整个数组列表?
【解决方案2】:

根据我在原始帖子中的评论,您的图书类应该是这样的:

public class Book {
    private String title;
    private String author;
    private String genre;
    private int releaseYear;

    public Book(String title, String author, String genre, int releaseYear) {
        this.title = title;
        this.author = author;
        this.genre = genre;
        this.releaseYear = releaseYear;
    }

    public String getTitle() { return this.title; }
    public String getAuthor() { return this.author; }
    public String getGenre() { return this.genre; }
    public int getReleaseYear() { return this.releaseYear; }
}

现在您需要做的就是创建这些类的多个实例,并将它们添加到您的 ArrayList 中。

这是一个链接,其中包含一些如何使用 ArrayLists 的示例:http://beginnersbook.com/2013/12/how-to-initialize-an-arraylist/

【讨论】:

    【解决方案3】:

    您可以通过两种方式做到这一点。

    1. 创建一个包含标题(字符串)、作者(字符串)、发行年份(int)和流派(字符串)的类,并创建该类的新实例并将其添加到数组。这是classes 上的 javadoc。

    2. (不推荐,但仍然有效)您可以创建一个大小为 4 的数组列表。该数组将是一个支持整数的对象。示例:Object[] obj = new Object[]{"title", "author", 2015, "genre"}; 然后您可以获取该数组并将其添加到您想要添加此信息的另一个数组中。

    如果你想选择二并创建一个类,这里​​是一个例子:

    public class Book {
    
        private String title, author, genre;
        private int releaseYear;
    
        public Book(String title, String author, int releaseYear, String genre){
            this.title = title;
            this.author = author;
            this.releaseYear = releaseYear;
            this.genre = genre;
        }
    
        public String getTitle() {
            return title;
        }
    
        public String getAuthor() {
            return author;
        }
    
        public String getGenre() {
            return genre;
        }
    
        public int getReleaseYear() {
            return releaseYear;
        }
    
        public void setTitle(String title) {
            this.title = title;
        }
    
        public void setAuthor(String author) {
            this.author = author;
        }
    
        public void setGenre(String genre) {
            this.genre = genre;
        }
    
        public void setReleaseYear(int releaseYear) {
            this.releaseYear = releaseYear;
        }
    
    }
    

    如果您想创建 Book 类的新实例,您可以这样做:

    Book book = new Book("title", "author", 2015, "genre");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      相关资源
      最近更新 更多