gpt4 book ai didi

java - 在几个不同的参数内生成随机数

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

每次运行这个程序时,我都会遇到逻辑错误,我觉得下面的代码应该完全符合问题的要求,但输出肯定是错误的。我不明白我做错了什么。

编写一个 Java 程序(将其命名为 RandomNumbers)来生成随机数,如下所示。确保正确标记下面每个部分的输出,并将输出打印在单独的行上。与前面的程序一样,使用制表符转义字符在标签后面排列输出。 a) 30 到 50(含)之间的随机整数。 b) 20 到 -20(含)之间的随机整数。 c) -20 到 -60(含)之间的随机整数。 d) 0.0 到 15.9999(含)之间的随机 float 。

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

public class RandomNumbers{

public static void main(String[] args) {

// Part A) Generate a random integer number between 30 and 50 (inclusive)
System.out.println("a) Random integer between 30 and 50 (inclusive): " +
30 + (int)(Math.random() * ((50 - 30) + 1)));
// Part B) Generate a random integer number between 20 and -20 (inclusive)
System.out.println("a) Random integer between 30 and 50 (inclusive): " +
(-20) + (int)(Math.random() * ((20 - (-20)) + 1)));
// Part C) Generate a random integer number between -20 and -60 (inclusive)
System.out.println("a) Random integer between 30 and 50 (inclusive): " +
(-60) + (int)(Math.random() * (((-20) - (-60)) + 1)));
// Part d) Generate a random floating-point number between 0.0 and 15.9999 (inclusive)
System.out.println("a) Random integer between 30 and 50 (inclusive): " +
0.0 + (double)(Math.random() * ((15.9999 - 0.0) + 1)));
}}

我的输出是:a)30到50(含)之间的随机整数:3018a) 30 到 50(含)之间的随机整数:-207a) 30 到 50(含)之间的随机整数:-6014a) 30 到 50(含)之间的随机整数:0.03.7171159220482286正如您所看到的,这是不正确的。

最佳答案

您的问题是您没有将计算结果放在括号中。因此,Java 会将表达式中的 + 符号视为字符串连接。

示例:

System.out.println("Test"+1+2);

打印Test12,但是

System.out.println("Test"+(1+2));

打印Test3

因此,在第一个示例中,您将得到 3018 作为输出,因为它只是将两个数字添加到您的字符串中,而不是添加 30+18。

因此,为您提供所需输出的正确代码将是

System.out.println("a) Random integer between 30 and 50 (inclusive): " +
(30 + (int)(Math.random() * ((50 - 30) + 1))));

关于java - 在几个不同的参数内生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42489877/

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