2016-11-12 62 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); 
}