Если вы находитесь в офисной интрасети (в противном случае опасно), которая всегда защищена брандмауэрами, просто используйте следующие строки в ~ / .ssh / config
Host * StrictHostKeyChecking no UserKnownHostsFile = / dev / null
Код, который получает случайный результат:
int roll = dice.throwDice();
выполняется ровно один раз. Вы вызываете метод throw один раз . Вы сохраняете результат, а не «указатель» на функцию, которая будет вызываться повторно всякий раз, когда roll
где-то используется.
Таким образом, вы должны поставить эту строку:
roll = dice.throwDice();
System.out.println("You have rolled " + roll + ".");
прямо перед тем местом, где вы ожидаете еще один бросок костей!
После добавления int roll = dice.throwDice();
в свой цикл вы можете обнаружить, что каждый раз получаете одну и ту же последовательность ролей. Если вы не хотите этого, вам придется установить случайное начальное число.
См. Этот вопрос: случайные числа Java с использованием начального числа
Измените класс игры в кости на это.
public class Dice {
private Random random;
public Dice(){
random = new Random();
}
public int throwDice(){
int dice = random.nextInt(6) + 1;
return dice;
}
}
И обновить roll = dice.throwDice();
внутри цикла. Это будет работать, потому что ваша игральная кость теперь имеет один случайный экземпляр, который генерирует новые случайные целые числа каждый раз, когда вызывается throwDice()
.
public class Dice {
private Random random;
public Dice(){
random = new Random();
}
public int throwDice(){
int dice = random.nextInt(6) + 1;
return dice;
}
}
Это будет работать, потому что у вашей кости теперь есть один случайный экземпляр, который генерирует новые случайные целые числа каждый раз, когда throwDice () вызывается