gpt4 book ai didi

java - list.add() 不向 ArrayList 添加数据

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:54:21 24 4
gpt4 key购买 nike

我想将数据添加到 ArrayList 对象。在我的代码中,addBook() 方法将显示输入对话框并将此字符串传递给 isbn 变量。现在需要将 isbn 变量数据添加到 ArrayList,它位于 BookInfoNew() 构造函数中,但在 addBook() 方法中找不到列表对象。 (list.add(isbn))

请帮助我。

import java.util.*;
import javax.swing.JOptionPane;

public class BookInfoNew {
private static String isbn;
private static String bookName;
private static String authorName;
public static int totalBooks = 0;

//default constructor
public BookInfoNew() {
List<String> list = new ArrayList<String>(); //create ArrayList
}

//Parameterized constructor
public void BookInfoNew(String x, String y, String z) {
isbn = x;
bookName = y;
authorName = z;
}

//add book method
public void addBook() {
String isbn = JOptionPane.showInputDialog("Enter ISBN");

//add books data to ArrayList
list.add(isbn);
}
}

最佳答案

这是范围问题。您不能在 addBook() 对象中访问您的 list 对象。因此,您必须将 list 设为 addBook() 的参数,或者将其设为全局变量。

此代码使用全局变量修复它:

import java.util.*;
import javax.swing.JOptionPane;

public class BookInfoNew {
private String isbn;
private String bookName;
private String authorName;
public int totalBooks = 0;

// global list variable here which you can use in your methods
private List<String> list;

//default constructor
public BookInfoNew() {
list = new ArrayList<String>(); //create ArrayList
}

//Parameterized constructor - constructor has no return type
public BookInfoNew(String x, String y, String z) {
isbn = x;
bookName = y;
authorName = z;
}

//add book method
public void addBook() {
String isbn = JOptionPane.showInputDialog("Enter ISBN");

//add books data to ArrayList
list.add(isbn);
}
}

关于java - list.add() 不向 ArrayList 添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33798212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com