当前位置: 首页 > 知识库问答 >
问题:

我们可以在Java中创建该类内部的类的ArrayList吗?

姜奇
2023-03-14

萨拉姆!

在java中,我需要在该类中创建一个类的ArrayList。有可能吗???正如我所知,如果我在该类构造函数中创建一个类的对象,那么它将导致StackOverFlow。下面给出了问题的完整细节。如何在BookInfo类本身中创建该类的ArrayList???

问题声明:
您需要编写一个java程序,该程序只包含两个名为BookInfo和BookMgtSys的类。

BookInfo类必须具有以下数据成员:•ISBN•图书名称•作者姓名•图书总数当您要添加图书时,它将增加可变的图书总数,当您要删除图书时,它将减少。

BookInfo类必须具有以下成员方法:•默认构造函数•参数化构造函数•addbook()
•searchBook()•deleteBook()

BookMgtSys是一个包含main()方法的公共驱动程序类。文件的名称应该是BookMgtSys,因为它是程序中的公共类。

详细说明:

默认构造函数:默认构造函数将创建ArrayList。

参数化构造函数:它应该接受三个名为(ISBN、书名和作者名)的字符串参数,并用传递的参数初始化数据成员的值。addBook():此方法将要求用户输入ISBN、Book name和Author name,然后在ArrayList中添加图书,并递增Total Book变量。成功添加图书后,应显示包含图书信息的消息框。searchBook():此方法接受一个参数,即book name,并在ArrayList中搜索book name。如果找到搜索,则显示图书信息,否则显示未找到图书的消息。deleteBook():此方法接受一个参数,即book name,然后从ArrayList中删除book,然后减少Total book变量。

谢谢你的帮助。

下面给出了代码。但它没有编译。它给出了以下错误:

C:\代码

import javax.swing.*;
import java.util.*;
public class BookMgtSys
{
public static void main(String[] args)
{

System.out.println("Bismillah");
BookInfo Books=new BookInfo();
String  UserOption = JOptionPane.showInputDialog("Enter 1 to Add Book\r\nEnter 2 to Search Book\r\nEnter 3 to Delete Book\r\nEnter 4 to Exit System");
switch(UserOption)
{
    case "1":
    //  Books.addbook();
    break;
    case "2":
    break;
    case "3":
    break;
    case "4":
    break;

}
//JOptionPane.showMessageDialog(null, "You entered " + ipstring);
}
}
class BookInfo
{
 String ISBN;
 String BookName;
 String AuthorName;
 static int TotalBooks;
ArrayList<BookInfo> bookList;
//constructor
// ArrayList<BookInfo> bookList;
//BookInfo class must have the following member methods:
public BookInfo()
{
    bookList = new ArrayList() <BookInfo>();
//persons = new ArrayList()<PersonInfo>();
}
// public void BookInfo(String ISBN, String BookName, String AuthorName)
// {
// this.ISBN=ISBN;
// this.BookName=BookName;
// this.AuthorName=AuthorName;
// TotalBooks++;
// }
 // public void addbook ()
 // {
     // // this.ISBN=JOptionPane.showInputDialog("Enter The ISBN");
     // // this.BookName=JOptionPane.showInputDialog("Enter The Name");
     // // this.AuthorName=JOptionPane.showInputDialog("Enter The Author");

      // TotalBooks++;
 // }
// public void searchBook ()
// {

// }
// public void deleteBook ()
// {
    // if(TotalBooks>0)
        // TotalBooks--;
// }

}

共有3个答案

闻人飞翼
2023-03-14
 ArrayList<BookInfo> bookList = new ArrayList<BookInfo>();

但如果能解决你的问题(无法编辑他的帖子),请投票给Ihor Yatsenko回答

夏祺然
2023-03-14

请把你的代码贴在这里?

你写了新的ArrayList()

华涵意
2023-03-14

创建ArrayList

 类似资料:
  • 我想将用户输入存储到ArrayList中,然后将该ArrayList放入另一个ArrayList中。这有点像一个主类别,它包含包含数据的子类别。 以下是一些代码: 我可以在"main Cat"ArrayList中添加"subCat"ArrayList吗?

  • 问题内容: 在同一个类的定义中创建对象并不奇怪吗?因为然后作为响应-该对象创建了一个新对象,然后该新对象创建了另一个对象,并且无限循环直到存储空间已满才开始永不结束。 问题答案: 在同一个类的定义中创建一个对象是否比响应该对象创建一个新对象并不奇怪,然后这个新对象创建另一个对象,并且无限循环开始 不,主方法仅在运行程序时运行一次。它不会再次执行。因此,该对象将仅创建一次。 认为您的主要方法超出了您

  • 问题内容: 我想在Go中创建分层错误。我们可以在Go中实现吗?例如,我有以下两个错误。 我想要一个包含两个子类型和的错误类型,以便执行以下操作。 有办法实现吗? 编辑: 在类型切换中,我们可以使用多个错误,如下所示: 但是,当我遇到大量错误时,或者当我需要对模块内部的错误进行抽象时,这种方法将不是最好的方法。 问题答案: 您可以在中列出多个类型,这样便可以完成您想做的事情: 测试它: 输出(在Go

  • 问题内容: 我是Java新手。 我的文件如下所示: 在另一个Java文件中,我试图创建A对象调用 但是由于某种原因我得到了错误: 有人可以解释我该怎么做吗?我的意思是,我真的需要创建的实例,然后设置实例,然后将实例提供给方法,还是有另一种方法呢? 问题答案: 在您的示例中,您有一个内部类,该内部类始终与外部类的实例绑定。 如果您想要的只是嵌套类以提高可读性而不是实例关​​联的一种方式,那么您需要一

  • 问题内容: 我们可以完全禁用字符串的实习吗?它可能并没有真正的帮助,只是一个想法。我可以认为至少有一点会有所帮助,即在jvm调整期间,控制perm gen的大小。 例如,如果我给出一个OSGI框架,并且任何人都可以添加任意数量的捆绑包,并且每个捆绑包字符串内插都可以完全搞乱我的调整参数。(当然,我知道我们应该在给定的固定发行版上进行调音,但是仍然…) 有什么想法吗!! 问题答案: 对于现代JVM,

  • 我是Java新手。 我的文件看起来像这样: 在另一个java文件中,我试图创建一个调用 但由于某种原因,我得到了一个错误: 有人能解释一下我怎么做我想做的事吗?我的意思是,我真的需要创建的实例,然后将其设置为,然后将的实例赋给该方法吗,还是有其他方法可以做到这一点?