所以,我有这个小问题。我正在提示用户输入需要存储在多变量数组中的3个变量(Str,Str,Int),我无法使其工作。任何帮助将不胜感激。
LibraryBook[] book = new LibraryBook[5];
//inputing a new book
Scanner input = new Scanner(System.in);
LibraryBook[] myBook = new LibraryBook[0];
System.out.println("Enter book name: ");
String title = input.nextLine().trim();
System.out.println("Enter author name: ");
String author = input.nextLine().trim();
System.out.println("Enter # pages: ");
int pages = input.nextInt();
myBook[0] =new LibraryBook(title,author,pages);
我收到此错误
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at LibraryBookSort.main(LibraryBookSort.java:36)
---- jGRASP wedge2:进程的退出代码为1。
答案 0 :(得分:0)
您正在使用零大小初始化数组,因此您基本上没有任何空间来存储变量(在您的情况下是一个类)。这是更正:
LibraryBook[] myBook = new LibraryBook[10];
我假设您的计划中不需要超过10个地点。
编辑:我刚刚注意到你声明了两个LibraryBook数组,但你只使用了一个。是否有必要使用未使用的?
答案 1 :(得分:0)
删除此行
LibraryBook[] myBook = new LibraryBook[0];
并替换最后一行
myBook[0] =new LibraryBook(title,author,pages);
由此
book[0] =new LibraryBook(title,author,pages);