0

だから、私はこの小さな問題を抱えています。複数変数配列に格納する必要がある 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 です。

4

2 に答える 2

0

この行を削除

LibraryBook[] myBook = new LibraryBook[0];

最後の行を置き換えます

myBook[0] =new LibraryBook(title,author,pages);

これで

book[0] =new LibraryBook(title,author,pages);
于 2013-07-27T05:33:22.517 に答える
0

配列をサイズ 0 で初期化しているため、基本的に変数 (この場合はクラス) を格納するスペースがありません。修正は次のとおりです。

LibraryBook[] myBook = new LibraryBook[10];

プログラムで必要なロケーションは 10 個以下であると想定しています。

編集: 2 つの LibraryBook 配列が宣言されていることに気付きましたが、使用しているのは 1 つだけです。未使用のものは必要ありますか?

于 2013-07-27T05:26:22.753 に答える