罗嗦的问题,让我举个例子
我正在创建的程序使用2D数组创建2D世界,其大小基于用户输入。在这个例子中,世界是一个4×10世界
----------
----------
----------
----------
如何将3 X放在底行的随机位置?
即
----------
----------
----------
--x-x---x-
但要确保它是随机的,以便在我再次运行该方法时它们不会出现在同一行中?
答案 0 :(得分:2)
您可以在索引0 , 1 , 2
中指定x的位置尝试此操作,并使用Collections框架的shuffle
方法对其进行随机播放。
String [][] data = {{"-","-","-","-","-","-","-","-"},{"-","-","-","-","-","-","-","-"}};
data[data.length - 1][0] = "x";
data[data.length - 1][1] = "x";
data[data.length - 1][2] = "x";
Collections.shuffle(Arrays.asList(data[data.length - 1]));
for(int i = 0; i < data.length; i++){
for(String s : data[i]){
System.out.print(s);
}
System.out.println();
}
结果:
--------
--x-xx--
答案 1 :(得分:1)
Scanner scanner = new Scanner(System.in);
Random rgen = new Random();
int column = scanner.nextInt();
int row = scanner.nextInt();
List<List<Character>> grid = new LinkedList<>();
for (int i = 0; i < column; i++) {
List<Character> aColumn = new LinkedList<>();
for (int j = 0; j < row; j++) {
if (rgen.nextBoolean()) {
aColumn.add('.');
} else {
aColumn.add('x');
}
}
grid.add(aColumn);
}