2015-11-25 2 views
0

Я хочу получить другой объект на каждой итерации цикла. Я получаю объект из массива объектов, определенных другим методом и используемого в этом, но объект (книга) остается неизменным. за каждым циклом следуют другие утверждения и работают правильно, следовательно, не связаны.Получение случайного объекта из массива объектов

public static String [] runSimulation(LibraryBook [] bookStock, int numberOFevents){ 
    Random rnd = new Random(); 
    String [] output = new String [numberOFevents]; 
    int a = rnd.nextInt(100); 
    int n = LibraryBook.getBooks(); 
    int c = rnd.nextInt(1); 
    int random = rnd.nextInt(n-1); 
    //for (int index=0; index<numberOFevents; index++) { 
    int i=0; 
    for (LibraryBook book : bookStock){ 
     i++; 
     book = bookStock[random]; 
     if (book.getLibraryClass() == null) { 
      book.setLibraryClass("QA" + a); 
      output[i] += (i + book.getLibraryClass()+ "BOOK IS CLASSIFIED"); 
     } 
     else if (book.getLibraryClass() != null && 
      "REFERENCE_ONLY".equals(book.getBookStatus())){ 
      output[i] += (i + book.getLibraryClass() + "REFERENCE ONLY BOOK"); 
     } 

ответ

0

Потому что вы не меняете случайных каждый раз в цикле. Ваш код должен выглядеть так:

int random; 
    int i=0; 
    for (LibraryBook book : bookStock){ 
     i++; 
     random = rnd.nextInt(n-1); // sets a new value in every loop 
     book = bookStock[random]; 
+0

Черт, это была такая глупая ошибка, ха-ха, спасибо мату –

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