Java 用于测量数组排序的计时器

Java 用于测量数组排序的计时器,java,class,Java,Class,程序来创建计时器,并使用它来测量创建和排序数组所需的时间。我在月食中看到了红色的亮点。在评论中作进一步解释 public class StopWatch { private double startTime; private double endTime; public void start() { startTime = System.currentTimeMillis(); } public void

程序来创建计时器,并使用它来测量创建和排序数组所需的时间。我在月食中看到了红色的亮点。在评论中作进一步解释

public class StopWatch {        
    private double startTime;       
    private double endTime;

    public void start() {
        startTime = System.currentTimeMillis();
    }

    public void stop() {
        endTime = System.currentTimeMillis();
    }

    public double getElapsedTime(endTime, startTime) {
        return endTime - startTime;
    }
}
测试班

这将解决它:

TestStopWatch类更改:

public static void main(String[] args) {
    StopWatch watch = new StopWatch();

    watch.start();

    watch.stop();

    System.out.println(watch.getElapsedTime());
}
public double getElapsedTime() {
    return endTime - startTime;
}
秒表类别更改:

public static void main(String[] args) {
    StopWatch watch = new StopWatch();

    watch.start();

    watch.stop();

    System.out.println(watch.getElapsedTime());
}
public double getElapsedTime() {
    return endTime - startTime;
}
这将解决它:

TestStopWatch类更改:

public static void main(String[] args) {
    StopWatch watch = new StopWatch();

    watch.start();

    watch.stop();

    System.out.println(watch.getElapsedTime());
}
public double getElapsedTime() {
    return endTime - startTime;
}
秒表类别更改:

public static void main(String[] args) {
    StopWatch watch = new StopWatch();

    watch.start();

    watch.stop();

    System.out.println(watch.getElapsedTime());
}
public double getElapsedTime() {
    return endTime - startTime;
}

首先,在TestStopWatch类中,应该创建一个如下的主方法

public void main(String[] args) { 
    // your code here
}
然后,您需要像StopWatch StopWatch=newstopwatch这样实例化StopWatch类;并分别调用stopWatch.start、stopWatch.stop和stopWatch.getElapsedTime。此外,还应该从getElapsedTime中删除这两个参数,因为它们没有被使用:

有些不相关,StopWatch类本身有几个小问题。首先,没有必要将startTime和endTime存储为双倍。因为它们是整数,所以存储它们的最佳方式是以整数格式(在本例中为长格式)


此外,System.currentTimeMillis与time和date中的时间相同,不应用于此类秒表,因为系统会定期对System.currentTimeMillis进行校正,因此时钟更精确。取而代之的是,使用没有这些修正的方法。

首先,在TestStopWatch类中,您应该创建一个如下的main方法

public void main(String[] args) { 
    // your code here
}
然后,您需要像StopWatch StopWatch=newstopwatch这样实例化StopWatch类;并分别调用stopWatch.start、stopWatch.stop和stopWatch.getElapsedTime。此外,还应该从getElapsedTime中删除这两个参数,因为它们没有被使用:

有些不相关,StopWatch类本身有几个小问题。首先,没有必要将startTime和endTime存储为双倍。因为它们是整数,所以存储它们的最佳方式是以整数格式(在本例中为长格式)

此外,System.currentTimeMillis与time和date中的时间相同,不应用于此类秒表,因为系统会定期对System.currentTimeMillis进行校正,因此时钟更精确。相反,请使用没有这些更正的方法。

您不能直接在TestStopWtach类中调用start、stop和getElapsedTime方法。您需要一个StopWatch对象来在不同的类中调用这些方法

TestStopWatch类中必须有一个公共静态void mainString args[]方法或其他方法,您可以通过它调用这些东西

另外,您需要使用StopWatch类对象调用方法调用

接下来,您需要注意这两个类都位于同一个包下,以调用它们的方法,如下面代码中所示

StopWatch类必须看起来像:-

public class StopWatch {

    private double startTime;

    private double endTime;

    public long start() {

        startTime = System.currentTimeMillis();

        return startTime;
    }

    public long stop() {

        endTime = System.currentTimeMillis();

        return endTime;

    }

    public double getElapsedTime(endTime, startTime) {
        return endTime - startTime;
    }
}
另外,通过更改start和stop方法的返回类型,在StopWatch类中进行一些更改

TestStopWatch类必须看起来像:-

import java.util.Arrays;

public class TestStopWatch {
    public static void main(String args[]){

        StopWatch sw=new StopWatch();

        long p=sw.start(); // trying to call the start method in the previous class

        // code to create and sort array

        long q=sw.stop(); //stop method in previous class

        // call getElapsedtime and print
        System.out.println(sw.getElapsedTime((double)q,(double)p));

    }
}
不能在TestStopWtach类中直接调用start、stop和getElapsedTime方法。您需要一个StopWatch对象来在不同的类中调用这些方法

TestStopWatch类中必须有一个公共静态void mainString args[]方法或其他方法,您可以通过它调用这些东西

另外,您需要使用StopWatch类对象调用方法调用

接下来,您需要注意这两个类都位于同一个包下,以调用它们的方法,如下面代码中所示

StopWatch类必须看起来像:-

public class StopWatch {

    private double startTime;

    private double endTime;

    public long start() {

        startTime = System.currentTimeMillis();

        return startTime;
    }

    public long stop() {

        endTime = System.currentTimeMillis();

        return endTime;

    }

    public double getElapsedTime(endTime, startTime) {
        return endTime - startTime;
    }
}
另外,通过更改start和stop方法的返回类型,在StopWatch类中进行一些更改

TestStopWatch类必须看起来像:-

import java.util.Arrays;

public class TestStopWatch {
    public static void main(String args[]){

        StopWatch sw=new StopWatch();

        long p=sw.start(); // trying to call the start method in the previous class

        // code to create and sort array

        long q=sw.stop(); //stop method in previous class

        // call getElapsedtime and print
        System.out.println(sw.getElapsedTime((double)q,(double)p));

    }
}

首先,在“TestStopWatch”中创建一个方法,然后通过创建对象调用其他类方法

public class StopWatch {

    private double startTime;

    private double endTime;

    public double start() {

        startTime = System.currentTimeMillis();
        return startTime;

    }

    public double stop() {

        endTime = System.currentTimeMillis();
        return endTime;

    }

    public double getElapsedTime(double endTime, double startTime) {
        return endTime - startTime;
    }

}
二等舱

import java.util.Arrays;

public class TestStopWatch {

    public void measureTime(){

    StopWatch stopWatch = new StopWatch();

    double startTime = stopWatch.start(); //trying to call the start method in the previous class

    //code to create and sort array

        double endTime = stopWatch.stop(); //stop method in previous class

    System.out.println(getElapsedTime(startTime,endTime)); //call getElapsedtime and print

    }
}

首先,在“TestStopWatch”中创建一个方法,然后通过创建对象调用其他类方法

public class StopWatch {

    private double startTime;

    private double endTime;

    public double start() {

        startTime = System.currentTimeMillis();
        return startTime;

    }

    public double stop() {

        endTime = System.currentTimeMillis();
        return endTime;

    }

    public double getElapsedTime(double endTime, double startTime) {
        return endTime - startTime;
    }

}
二等舱

import java.util.Arrays;

public class TestStopWatch {

    public void measureTime(){

    StopWatch stopWatch = new StopWatch();

    double startTime = stopWatch.start(); //trying to call the start method in the previous class

    //code to create and sort array

        double endTime = stopWatch.stop(); //stop method in previous class

    System.out.println(getElapsedTime(startTime,endTime)); //call getElapsedtime and print

    }
}

你的问题是什么?TestStopWatch如何知道类start和stop所指的是什么?您是否试图将代码直接放入类中?你需要把代码放在一个可能是主要的方法中。只是想注意,这是《Java编程导论》综合版第9版中的一个教科书问题。你的问题是什么?TestStopWatch如何知道类start和stop所指的是什么?您是否试图将代码直接放入类中?您需要将代码放入一个可能是主要的方法中。只想注意,这是《Java编程导论》第9版综合版中的一个教科书问题。它成功了!非常感谢。我忘记了main,你必须创建一个watch对象。它成功了!非常感谢。我忘记了main,也忘了你必须创建一个watch对象。谢谢你的额外评论:很高兴帮助你。我的一位教授曾经说过,技术已经进化了
数千年来,我一直在抱怨。你自己可以学到很多东西,但除非你提出问题并向别人学习,否则它将一事无成。是的,我学习java主要是通过阅读人们以前在堆栈溢出上提出的问题的答案。同样来自headfirst java。感谢您的额外评论:很高兴为您提供帮助。我的一位教授曾经说过,技术已经进化了数千年。你自己可以学到很多东西,但除非你提出问题并向别人学习,否则它将一事无成。是的,我学习java主要是通过阅读人们以前在堆栈溢出上提出的问题的答案。同样来自HeadFirstJava。