gpt4 book ai didi

java - 坚持尝试将随机对象用于我的 Java 计算机编程入门作业

转载 作者:行者123 更新时间:2023-11-30 12:07:09 25 4
gpt4 key购买 nike

简单地说,我有这门课的教科书实验作业,我目前正在做一个关于对象的模块。这个实验室让我使用随机数生成器,但由于自动评分,它需要可重复性。它通过播种 2 来做到这一点,但我似乎无法得到实验室想要的东西,即使我的程序在正常情况下完全按照它应该的方式运行。这是说明和我的代码:

编写一个程序,模拟掷硬币来做出决定。输入是需要多少决策,输出是正面或反面。假设输入是一个大于 0 的值。

例如:如果输入为 3,则输出为:

tails 
heads
heads

为了自动评分所需的可重复性,将程序设为 2。在实际程序中,您将使用当前时间作为种子。在这种情况下,每个程序的输出都会不同,这是我们希望的结果,但无法自动评分。

注意:一个常见的学生错误是在每次调用 rand.nextInt() 之前创建一个 Random 实例。但是播种只能在程序开始时进行一次,之后可以多次调用 rand.nextInt()。

您的程序必须定义并调用以下返回“正面”或“反面”的方法。

public static String HeadsOrTails(Random rand)

这是我目前所拥有的:

import java.util.Scanner;
import java.util.Random;

public class LabProgram {

public static String HeadsOrTails(Random rand) {
String coinFlipVal = "tails";

if (rand.nextInt(2) == 0) {
coinFlipVal = "heads";
}

return coinFlipVal;
}

public static void main(String[] args) {
Scanner key = new Scanner(System.in);
Random randGen = new Random(2); // Unique seed
int iDecisions = key.nextInt();

for (int i = 0; i < iDecisions; i++) {
System.out.println(HeadsOrTails(randGen));
}
}
}

这完全符合预期,因为无论我想要多少次迭代,它都会产生一组随机的正面或反面结果,但不是按照程序寻找的顺序。我玩过我的 if 语句,将它设置为 1 而不是零,对尾部使用 else if 语句并将 coinFlipVal 声明为“”,等等。我只是不知道如何得到他们正在寻找的东西。非常感谢任何关于我所忽略的帮助。这是提交结果(它给出了程序对输出的期望):

1:比较输出0/2输出不同。请参阅下面的要点。输入:

3

你的输出

tails
heads
tails

预期输出

tails
heads
heads

2:单元测试2/2HeadsOrTails() 输入 1

你的输出:

HeadsOrTails() with input 1 correctly returned:
tails

3:单元测试0/3HeadsOrTails() 输入 5

你的输出:

HeadsOrTails() with input 5 incorrectly returned:
tails
heads
tails
heads
heads

4:单元测试0/3HeadsOrTails() 输入 10

你的输出:

HeadsOrTails() with input 10 incorrectly returned:
tails
heads
tails
heads
heads
tails
tails
heads
tails
tails

最佳答案

我和你的答案一样,得了10/10,唯一不同的是我在if后面加了一个else语句;

public static String headsOrTails(Random rand){
String coinFlip; // no need to "initialize" as it is definitely assigned just below

if (rand.nextInt(2) == 0)
coinFlip = "heads";
else // Added code
coinFlip = "tails";

return coinFlip;
}

关于java - 坚持尝试将随机对象用于我的 Java 计算机编程入门作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55152584/

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