Я начинаю с java и пытаюсь сделать игру Yahtzee, и мне нужно взять случайный бросок кубика в виде массива из метода void. Может ли кто-нибудь объяснить мне, почему это не работает?Как я могу отобразить массив из метода void?
import java.util.Arrays;
public class YatzeeGame {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] diceRolls = new int[5];
diceRolls = throwDice(diceRolls);
System.out.println(display(diceRolls));
}
public static void throwDice(int [] dice) {
int [] roll = {(int)(Math.random()*6+1),
(int)(Math.random()*6+1),(int)(Math.random()*6+1),
(int)(Math.random()*6+1),(int)(Math.random()*6+1),
(int)(Math.random()*6+1)};
dice = roll;
}
public static String display(int [] dice) {
String str = Arrays.toString(dice);
str = str.replace("[", "");
str = str.replace("]", "");
str = str.replace("," , " ");
return str;
}
Пустота означает «ничего не возвращает» по определение. Вы уверены, что должны получить свои кубики из метода пустоты? – Thomas
Ну, мои инструкции гласят: «Метод throwDice (int [] dice) принимает целочисленный массив и устанавливает значение этого массива в 5 случайных значений матрицы. Он ничего не возвращает». Как я могу использовать это, чтобы установить diceRolls в случайные значения? – shiff
Когда вы передаете массив, вы передаете ссылку на него. Любые изменения внутри массива в этом методе существуют после его удаления. – Compass