如何生成两个不同的随机数?

编程入门 行业动态 更新时间:2024-10-27 10:19:50
本文介绍了如何生成两个不同的随机数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我需要生成两个不同的随机数,它们不能彼此相等或与第三个数相等。我尝试使用很多if来涵盖所有可能性,但似乎我的算法技能不是那么好。

I need to generate two different random numbers, they can't be equal to each other or to a third number. I tried to use a lot of if's to cover every possibility but, it seems my algorithm skills are not that good.

任何人都可以帮我吗?

var numberOne = Math.floor(Math.random() * 4); var numberTwo = Math.floor(Math.random() * 4); var numberThree = 3; // This number will not always be 3 if((numberOne == numberThree) && (numberOne + 1 < 3)) { numberOne++; } else if ((numberOne == numberThree) && (numberOne + 1 == 3)) { numberOne = 0; } if ((numberOne == numberTwo) && (numberOne+1 < 3)) { if (numberOne+1 < 3) { numberOne++; } else if(numberThree != 0) { numberOne = 0; } }

这是我到目前为止,下一步将是:

This is what I have so far, the next step would be:

if (numberTwo == numberThree) { (...) }

我的思路是否合适? 注意:生成的数字需要在0到3之间。提前感谢。

Is my line of thought right? Note: Numbers generated need to be between 0 and 3. Thanks in advance.

推荐答案

你可以运行一个 while 循环,直到所有数字都不同。

You can run a while loop until all numbers are different.

// All numbers are equal var numberOne = 3; var numberTwo = 3; var numberThree = 3; // run this loop until numberOne is different than numberThree do { numberOne = Math.floor(Math.random() * 4); } while(numberOne === numberThree); // run this loop until numberTwo is different than numberThree and numberOne do { numberTwo = Math.floor(Math.random() * 4); } while(numberTwo === numberThree || numberTwo === numberOne);

这是基于@jfriend00建议的上述代码的jsfiddle jsfiddle/x4g4kkwc/1 。

Here is the jsfiddle with the above code based on @jfriend00's suggestion jsfiddle/x4g4kkwc/1.

以下是原始工作演示: http:// jsfiddle。 net / x4g4kkwc /

Here is the original working demo: jsfiddle/x4g4kkwc/

更多推荐

如何生成两个不同的随机数?

本文发布于:2023-10-28 23:06:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1538027.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:随机数   两个

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!