如何生成随机数并打印其他数字?

时间:2016-03-21 19:07:40

标签: java

如何打印不是' x'的数字。但是在给定的范围内。

ggplot(na.omit(df), aes(x, y)) +
  geom_point(aes(color = group)) +
  facet_grid(. ~ group) +
  theme_bw()

对于这个问题有一些困惑,所以我将借助一个例子来解释它。

假设' x'等于2

现在我要打印的数字不等于' x'例如,1,它在上述范围内。

4 个答案:

答案 0 :(得分:0)

尝试随机

Random r = new Random();
int max = 10;
int min = 1;
int x = r.nextInt((max - min) + 1) + min;// I have generated a random number
System.out.println(x);// This will print the random number

答案 1 :(得分:0)

我愿意:

int possibilities = 7;
int x = ThreadLocalRandom.current().nextInt(possibilities);
int y = ThreadLocalRandom.current().nextInt(possibilities - 1);
if (y >= x)
    y++;     // adding 1 to y here means that y can't equal x

这种方式y同样可能是0possibilities - 1范围内的任何整数,但x除外。

ThreadLocalRandom.current().nextInt(possibilities);只是在范围内生成随机数的另一种方法。 ThreadLocalRandom.current()只提供Random类的实例,而nextInt是一种在范围内生成随机数的方法(我更喜欢Math.random方法)。

但是,您可能会发现更容易理解此解决方案,这与您原来的问题更相似。

int possibilities = 7;
int x = (int) (Math.random() * possibilities);
int y = (int) (Math.random() * (possibilities - 1));
if (y >= x)
    y++;

答案 2 :(得分:0)

我假设您要在java中的给定范围内打印一个替换行

的随机数
int x = (int) (Math.random() *3);

使用此代码

 Random rand;
 int x = rand.nextInt((max - min) + 1) + min;

答案 3 :(得分:0)

鉴于你的代码:

int x = (int) (Math.random() *3);
int y = (int) (Math.random() *3);
if(y != x){
   System.out.println(x);
}