Java随机数计数错误?

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

我有一个计时方法来比较RandomCount类的不同版本

  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
有什么作用?