android 随机坐标,android-如何生成一定范围内的随机数?

android-如何生成一定范围内的随机数?

如何创建使用Eclipse在Android中生成随机数,然后在TextView字段中显示结果的应用程序? 随机数必须在用户选择的范围内。 因此,用户将输入范围的最大值和最小值,然后输出答案。

9个解决方案

114 votes

延伸拉胡尔·古普塔的话:

您可以使用Java函数[20, 80]。

这将返回[0, n-1]范围内的随机int。

即,要获得[20, 80]的范围,请使用:

final int random = new Random().nextInt(61) + 20; // [0, 60] + 20 => [20, 80]

概括一下:

final int min = 20;

final int max = 80;

final int random = new Random().nextInt((max - min) + 1) + min;

Fantômas answered 2020-07-09T15:54:35Z

16 votes

Random r = new Random();

int i1 = r.nextInt(45 - 28) + 28;

给出一个介于28(含)和45(不含)之间的随机整数,为28,29,...,43,44之一。

Narendra Sorathiya answered 2020-07-09T15:54:56Z

5 votes

另外,从API级别21开始,这是可能的:

int random = ThreadLocalRandom.current().nextInt(min, max);

Deplover answered 2020-07-09T15:55:16Z

3 votes

“用户是选择最大否和最小否的人?”这行是什么意思?

您可以使用Java函数setText()。这将返回范围为[0,n-1]的随机整数。

您可以使用setText()方法在textview中进行设置

Rahul Gupta answered 2020-07-09T15:55:45Z

2 votes

private int getRandomNumber(int min,int max) {

return (new Random()).nextInt((max - min) + 1) + min;

}

Gil SH answered 2020-07-09T15:56:01Z

1 votes

因此,您需要以下内容:

int random;

int max;

int min;

...在您的代码中的某处放置了一种方法,当用户单击“提交”,然后在下面的代码行中使用它们时,可从用户那里获取最小值和最大值:

random = Random.nextInt(max-min+1)+min;

这会将random设置为用户选择的min与max之间的随机数。然后,您将执行以下操作:

TextView.setText(random.toString());

BobbyD17 answered 2020-07-09T15:56:30Z

1 votes

您可以使用IfRandom。例如,这将生成75到100之间的随机数。

final int random = new Random().nextInt(26) + 75;

Developer answered 2020-07-09T15:56:50Z

0 votes

Android中的随机数生成器如果您想了解android中的随机数生成器,那么您应该阅读这篇文章直到结束。 在这里您可以获取有关Android中随机数生成器的所有信息。 Android中的随机数生成器

您应该在Java文件中使用此代码。

Random r = new Random();

int randomNumber = r.nextInt(100);

tv.setText(String.valueOf(randomNumber));

希望这个答案对您有所帮助。 如果您想阅读有关本文的更多信息,那么您应该阅读本文。 随机数发生器

sumit singh answered 2020-07-09T15:57:19Z

0 votes

下面的代码将帮助您在给定范围内的两个数字之间生成随机数:

private void generateRandomNumbers(int min, int max) {

// min & max will be changed as per your requirement. In my case, I've taken min = 2 & max = 32

int randomNumberCount = 10;

int dif = max - min;

if (dif < (randomNumberCount * 3)) {

dif = (randomNumberCount * 3);

}

int margin = (int) Math.ceil((float) dif / randomNumberCount);

List randomNumberList = new ArrayList<>();

Random random = new Random();

for (int i = 0; i < randomNumberCount; i++) {

int range = (margin * i) + min; // 2, 5, 8

int randomNum = random.nextInt(margin);

if (randomNum == 0) {

randomNum = 1;

}

int number = (randomNum + range);

randomNumberList.add(number);

}

Collections.sort(randomNumberList);

Log.i("generateRandomNumbers", "RandomNumberList: " + randomNumberList);

}

Chitransh Mathur answered 2020-07-09T15:57:39Z

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值