2015-12-09 5 views
1

im new для программирования в целом, я пытался создать систему в java для моего курса comp sci, и я получаю сообщение об ошибке «не может преобразовать из int [] в int» в eclipse.Не удается преобразовать из int [] в int?

public static ArrayList<Book> CreateBooksArrayList(){ 
    int[] id = {1,2,3,4,5}; 
    String[] bookTitle = {"book1", "book2", "book3", "book4", "book5"}; 
    String[] authorName = {"author1", "author2", "author3", "author4", "author5"}; 
    double[] bookReleaseYear = {123,456,789,987,654}; 
    int[] numOnLoan = {1,2,2,3,4}; 
    int[] numInStock = {5,5,5,5,5}; 


    int bID = -1; 
    String bTitle = null; 
    String aName = null; 
    double bRelease = -1; 
    int nLoan = -1; 
    int nStock = -1; 

    ArrayList<Book> Books = new ArrayList<Book>(); 
    for (int i = 0; i<6; i++){ 
     bID = id[i]; 
     bTitle = bookTitle[i]; 
     aName = authorName[i]; 
     bRelease = bookReleaseYear[i]; 
     nLoan = numOnLoan; 
     nStock = numInStock; 
     Books.add(new Book(bID, bTitle, aName, bRelease, nLoan, nStock)); 

Я попытался найти ответ, но я не могу найти какие-либо ссылки с этой точной проблемой. Заранее благодарю за любую помощь!

+2

Как вы думаете, что означает ошибка на основе сообщения? –

+0

Вы забыли раздел '[i]' при настройке 'nLoan' и' nStock'. Должно быть 'nLoan = numOnLoan [i];' – gonzo

+0

Я думаю, что это похоже на проблему, связанную с использованием массива int и int, но я не могу придумать, как его исправить. – d1234

ответ

1

Вы забыли раздел [i] для numOnLoan и numInStock в вашей петле. Измените их оба, чтобы включить [i].

nLoan = numOnLoan[i]; 
nStock = numInStock[i]; 
0

Заменить

nLoan = numOnLoan; 
nStock = numInStock; 

с:

nLoan = numOnLoan[i]; 
nStock = numInStock[i]; 
+0

Спасибо, Бергер! я не могу поверить, что я этого не видел. – d1234

0

Попробуйте изменить эти строки:

nLoan = numOnLoan; 
    nStock = numInStock; 

С этим вы забыли индекс i петли для извлечения значения из массива:

nLoan = numOnLoan[i]; 
    nStock = numInStock[i]; 
+0

Спасибо Абдельхаку, просто добавив [i] в ​​numOnLoan, и numInStock исправил его – d1234

Смежные вопросы