gpt4 book ai didi

java - 如何使用 mod 运算符生成输入范围之间的随机数?

转载 作者:行者123 更新时间:2023-12-02 06:33:51 28 4
gpt4 key购买 nike

我试图弄清楚如何在用户使用 mod 运算符预定义的范围内生成一个数字。

我不想要什么

int min = input.nextInt();
int max = input.nextInt();

Random r = new Random();
int X = r.nextInt(max - min + 1) + min;

我想要的是类似于传统 int X = gen.nextInt() % 100 + 1; 的东西而是使用最大值和最小值的值。

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

import java.util.*;

public class Modulus
{// begin class
public static void main(String[] args)
{// begin main
Scanner input;
int max, min, range;
Random gen;

gen = new Random();


input = new Scanner(System.in);

System.out.println("Please enter a max value: ");
max = input.nextInt();
// Ask user to input max value

System.out.println(" Please enter a minimum value: ");
min = input.nextInt();
// Ask user to input min value

range = gen.nextInt() % (Unknown)
// Get random integer between min and max values using %


System.out.println(" Your generated number is: " + range );






}
//end main
}
//end class

谁能解释一下我如何使用 mod 运算符来完成此任务?

最佳答案

您可以使用Math.abs()函数。

public static int genRandom(int mod){
Random r = new Random();
return Math.abs(r.nextInt()) % mod + 1;
}

并将您的最高数字作为参数插入。需要注意的是它仅适用于非负值。

关于java - 如何使用 mod 运算符生成输入范围之间的随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19850442/

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