【发布时间】:2015-01-28 20:22:14
【问题描述】:
我有这段代码,如果它确实在我选择的范围内生成随机数。我遇到的问题是,如果他们看到 for 的行,我应该生成 10000 个随机数,但这只会让我得到 6668。如果我输入的数量小于该数量,则代码可以正常工作。这是怎么回事? Eclipse 有某种字符限制? 非常感谢!
您好!
import java.util.Random;
public static final void main(String... aArgs){
log("Generating random integers in the range 1..10.");
int START = 2000000 ;
int END = 8999999 ;
Random random = new Random();
for (int idx = 1; idx <= 10000; ++idx){
showRandomInteger(START, END, random);
}
log("Done.");
}
private static void showRandomInteger(int aStart, int aEnd, Random aRandom){
if (aStart > aEnd) {
throw new IllegalArgumentException("Start cannot exceed End.");
}
//get the range, casting to long to avoid overflow problems
long range = (long)aEnd - (long)aStart + 1;
// compute a fraction of the range, 0 <= frac < range
long fraction = (long)(range * aRandom.nextDouble());
int randomNumber = (int)(fraction + aStart);
log("351" + randomNumber);
}
private static void log(String aMessage){
System.out.println(aMessage);
}
}
【问题讨论】:
-
尝试增加 Eclipse 控制台缓冲区:stackoverflow.com/questions/2828255/…