2012-10-19 5 views
6

thể trùng lặp:
How to generate random positive and negative numbers in javalàm thế nào để tạo ra các số dương và âm trong Java

Xin chào Tôi cố gắng để tạo ra một phương pháp trong Java để tạo ra giá trị âm và dương trong Java.

vấn đề là tôi không biết làm thế nào để có được điều này được lập trình nhưng tôi biết logic .. đây là những gì tôi tought nó phải được

Random generator = new Random(); 

for (int i = 0; i < 21; i++) 
{ 
     System.out.print(generator.nextInt(100) + 1); 
     System.out.println(); 
} 

nhưng với đoạn mã trên tôi nhận được chỉ tích cực các giá trị và tôi cần các giá trị từ -100 đến 100 nhưng làm cách nào tôi có thể thực hiện một cái gì đó như thế?

Trả lời

16

Bạn có thể sử dụng:

Random generator = new Random(); 
int val = 100 - generator.nextInt(201); 

Hoặc, như JoachimSauer gợi ý trong các ý kiến:

int val = generator.nextInt(201) - 100; 
+2

Cá nhân tôi muốn sử dụng 'generator.nextInt (200) - 100', nhưng đó chỉ là vấn đề về hương vị. –

+0

+1 cho giải pháp thông minh. – Juvanis

+0

Ah cảm ơn rất nhiều đó là lừa :) không biết tôi có thể trừ nó như thế! – Reshad

10

Công thức chung là

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

Lưu ý rằng minmax có thể được tiêu cực . (tối đa> phút)