2016-11-12 72 views
-1

我想从-100到100打印10个随机数字,但我的下面的代码总是打印负数。我没有得到任何答案。这个怎么做 ?我想打印从-100到100的随机数字

import java.util.Random; 
public class VectorAndList { 
public static void main(String arg[]){ 
    Random random = new Random(); 
    int number ; 
    for(int i=0;i<10;i++) 
    System.out.println(number = random.nextInt(100)+ (-100)) ; 
} 
} 

回答

1

问题是你计算100之间的随机数,然后你减(100),这就是为什么你只收到负值的负数。

所以改变这样

Random random = new Random(); 
int number ; 
for(int i=0;i<10;i++) 
System.out.println(number = random.nextInt(201)-100) ; 
+0

这将只打印正数,范围是-100至100 – Saravana

+0

no ..based对可能性给出否定的。示例随机数是5意味着5-100所以结果将是-95 – sasikumar

+0

是的,正确的,它会 – Saravana

1

从0-100生成数量和翻转迹象随机

Random rand = new Random(); 
int no = rand.nextBoolean() ? rand.nextInt(100) : rand.nextInt(100) * -1; 
System.out.println(no); 

或者您可以使用ThreadLocalRandom负范围以及

ThreadLocalRandom random = ThreadLocalRandom.current(); 
for (int i = 0; i < 10; i++) { 
    int no = random.nextInt(-100, 100); 
    System.out.println(no); 
}