Вопрос новичка: Math.floor / Math.random?
рандом генерирует в диапазоне [0;1), поэтому 7 там никогда не получится
Вот только вчера искал про перевод Float в Int в Java, как раз в одном из ответов на StackOverflow видна разница между floor/truncate/round stackoverflow.com/questions/1295424/how-to-convert-float-to-int-with-java, и в дополнение к этому описание random'a: 
random() 
          Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0.
то есть 
0.0 <=  random() < 1.0