Java随机数计数错误?
我有一个计时方法来比较RandomCount类的不同版本Java随机数计数错误?,java,random,Java,Random,我有一个计时方法来比较RandomCount类的不同版本 public long timer() throws IndexingError{ long time = System.currentTimeMillis(); randomise(); return (((long) System.currentTimeMillis() - time)/1000); } 但是,当我在它的测试类中运行它时,它不会显示任何内容,尽管我在其中有一个System.out.prin
public long timer() throws IndexingError{
long time = System.currentTimeMillis();
randomise();
return (((long) System.currentTimeMillis() - time)/1000);
}
但是,当我在它的测试类中运行它时,它不会显示任何内容,尽管我在其中有一个System.out.println来打印时间
public void test() throws IndexingError {
double timer1;
double timer2;
CleverRandomCount cleverrandomtest = new CleverRandomCount(100000);
timer1 = cleverrandomtest.timer();
System.out.println(timer1);
SimpleRandomCount simplerandomtest = new SimpleRandomCount(100000);
timer2 = simplerandomtest.timer();
System.out.println(timer2);
}
我是否遗漏了一些额外的行来帮助打印两个随机计数的时间?您应该测试几个可能的问题 1可能会引发异常。 不要抛出索引异常,而是将测试内容包装在try-catch块中,并在抛出异常时打印。注意:它也可能引发不同的异常) 2你的随机函数没有按你期望的方式工作。 要测试这个,请将system.out.println(计时器)更改为system.out.println(“计时器1或2”+计时器)。这样可以确保您始终知道何时进行打印。如果计时器为空,则您的版本可能看起来无法打印 3如果仍然不起作用,请尝试在底部添加System.out.flush()。
注意:实际上不应该是这样,但我已经看到Java在不同的系统上表现得很好。有几个可能的问题需要测试 1可能会引发异常。 不要抛出索引异常,而是将测试内容包装在try-catch块中,并在抛出异常时打印。注意:它也可能引发不同的异常) 2你的随机函数没有按你期望的方式工作。 要测试这个,请将system.out.println(计时器)更改为system.out.println(“计时器1或2”+计时器)。这样可以确保您始终知道何时进行打印。如果计时器为空,则您的版本可能看起来无法打印 3如果仍然不起作用,请尝试在底部添加System.out.flush()。
注意:事实上不应该是这样,但我已经看到Java在不同的系统上表现得很好。很可能问题在于
System.out.println
没有为您做任何事情,这与您正在打印的内容完全正交。将代码简化为System.out.println(“test”),并确定首先要做的是什么……确保在没有看到程序的主要部分之前不会出现索引错误,这很难判断。你是否将系统重定向到任何地方?另外,在输出中添加一些东西,以显示它们是否被调用,比如System.out.println(“Timer 1:+time1”);toString
对CleverRandomCount
/SimpleRandomCount
有什么作用?大概问题出在System.out.println
没有为您做任何事情,这与您正在打印的内容完全正交。将代码简化为System.out.println(“test”),并确定首先要做的是什么……确保在没有看到程序的主要部分之前不会出现索引错误,这很难判断。你是否将系统重定向到任何地方?另外,在输出中添加一些东西,以显示它们是否被调用,比如System.out.println(“Timer 1:+time1”);toString
对CleverRandomCount
/SimpleRandomCount
有什么作用?