tu ritorni trovato sempre e comunque... prova qualcosa del genere

codice:
boolean flag = false;
int trovato;

while (!flag) {
  trovato = (int) (Math.random () * 7);
  flag = (arrayValore[trovato] == 1 ? true : false);
}

return trovato;