gpt4 book ai didi

java - 希望使用 Java 创建随机数组

转载 作者:行者123 更新时间:2023-12-02 02:44:04 25 4
gpt4 key购买 nike

我正在构建一个用户定义的数组作为游戏板。字符使用“O”和“.”。必须是随机的,并且“O”必须出现多次。

这就是我到目前为止所拥有的。

import java.util.Scanner;


public class PacMan {

public static void main(String[] args)
{


Scanner input = new Scanner(System.in);
System.out.println("Input total rows:");
int row = input.nextInt();
System.out.println("Input total columns:");
int column = input.nextInt();



boolean[][] cookies = new boolean[row+2][column+2];
for (int i = 1; i <= row; i++)
for (int j = 1; j <= column; j++);
cookies [row][column] = (Math.random() < 100);

// print game
for (int i = 1; i <= row; i++)
{
for (int j = 1; j <= column; j++)
if (cookies[i][j]) System.out.print(" O ");
else System.out.print(". ");
System.out.println();
}
}
}

例如,输出会生成一个 5 x 5 网格,但“O”仅出现一次,并且位于网格的右下角。

协助随机化“O”和“.”并使“O”以随机方式出现在整个板上,这是由用户通过扫描仪输入初始化的。

这是更新后的代码,它生成我正在寻找的并且是用户定义的输出。

import java.util.*;
public class PacManTest
{
public static void main(String[] args)
{
char O;
Scanner input = new Scanner(System.in);
System.out.println("Input total rows:");
int row = input.nextInt();
System.out.println("Input total columns:");
int column = input.nextInt();

char board[][] = new char[row][column];

for(int x = 0; x < board.length; x++)
{
for(int i = 0; i < board.length; i++)
{
double random = Math.random();
if(random >.01 && random <=.10)
{
board[x][i] = 'O';
}

else {
board[x][i] = '.';
}
System.out.print(board[x][i] + " ");
}
System.out.println("");
}
}
}

最佳答案

主要问题是第一个循环中的拼写错误:

cookies [row][column] = (Math.random() < 100);

应该是

cookies [i][j] = (Math.random() < 100);

第二,Math.random()返回大于或等于 0.0 且小于 1.0 的值 (doc) 。所以,(Math.random() < 100);永远是真的。如果你想要 50% 的机会获得 O 或 .使用:

cookies[i][j] = Math.random() < 0.5;

此外,不确定您使用起始索引 1 的动机是什么?但数组索引从 0 开始。

关于java - 希望使用 Java 创建随机数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44935540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com