gpt4 book ai didi

java - 如何将 math.random() 与输入字符一起使用?

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

对于学校作业,我需要使用 do/while/for 循环(最适合的)和随机掷骰子。一旦抛出 6,程序就会停止。但是输出需要看起来像我给出的输入字符。我知道我需要使用 system.out.printf 来格式化输出。一旦骰子掷出 6 个字符,它就会停止。如果有人也能解释如何以及为什么,那就太好了,这样我下次就可以学习它。

这是一个示例输出:

# #
#
# #

# #
#
# #

#
#
#

# #
# #
# #

到目前为止我拥有的代码(现在也在尝试):

package com.company;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.println("What character do you want to use: ");

String character = input.nextLine();

char character2 = character.charAt(0);

do{
//math random probably needs to be put here?

System.out.printf("%1s %2s\n",character2, character2); //formatting of output, not yet finished


} while();
//not sure if do while is better in this situation. For loops possible too?

}
}

最佳答案

这是您需要遵循的基本流程:

do
roll = random number between 1 and 6
print the face of dice showing value of roll using selected character
while roll not 6

在 Java 中,您可以使用 Random 类的 nextInt(n) 方法来获取随机数。一个问题是它返回 0n-1 之间的数字(含),因此您需要在返回的值上加 1,如下所示:

int roll = 1 + rand.nextInt(6);

至于打印面孔,我会这样定义每个面孔,例如5:

String f5 = "x x\n x \nx x";

然后使用 f5.replace('x', ch)x 替换为所选字符 ch

您甚至可以使用数组来保存面,如下所示:

String[] faces = new String[6];
faces[0] = " \n x \n ";
<snip>
faces[6] = "x x\nx x\nx x";

然后在循环中你可以执行以下操作:

System.out.println(faces[roll-1].replace('x', ch));

关于java - 如何将 math.random() 与输入字符一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52556294/

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