Java 代码以毫秒为单位打印时间

Java 代码以毫秒为单位打印时间,java,Java,这是我的代码,我得到了巨大的输出。我的代码应该以毫秒为单位输出时间。我做错什么了吗 Random rand = new Random(); int num = rand.nextInt(100); static long linear = System.currentTimeMillis(); //Linear Search in Unsorted array private static int linearSearch(int list[],int key) { //finds an

这是我的代码,我得到了巨大的输出。我的代码应该以毫秒为单位输出时间。我做错什么了吗

Random rand = new Random(); 
int num = rand.nextInt(100); 
static long linear = System.currentTimeMillis();
//Linear Search in Unsorted array
private static int linearSearch(int list[],int key)
{

//finds an element in a list
   for(int i=0;i<list.length;i++)
   {
       //if element is found, element is then returned
       if(list[i]==key)
           return i;
   }
   //if element is not found, -1 is returned
   return -1;
}
System.out.println("Linear Search Time: " + linear);
Random rand=new Random();
int num=rand.nextInt(100);
静态长线性=System.currentTimeMillis();
//非排序数组中的线性搜索
专用静态整型线性搜索(整型列表[],整型密钥)
{
//在列表中查找元素

对于(int i=0;i在我看来,您正在尝试使用linearSearch函数查找列表上的给定键所需的时间。最好的方法是在调用函数之前和从函数返回之后存储,然后获取差异以查看所用的时间。除非您喜欢相当大的列表,否则可能返回0毫秒,如下图所示因为计算机太快了。你可以做一个while循环并创建一个巨大的数组来查看一些值

import java.util.Random;
public class HelloWorld{
    Random rand = new Random(); 
    int num = rand.nextInt(100); 
    static long linear = System.currentTimeMillis();
    //Linear Search in Unsorted array
     public static void main(String []args){
        System.out.println("Hello World");
        System.out.println("Linear Search Time: " + linear);

        int[] list = {1 ,3 ,4,5,6,7};
        int key = 7;
        long start_linear = System.currentTimeMillis();
        linearSearch(list,key);
        long end_linear = System.currentTimeMillis();
        System.out.println("linearSearch took: " + (end_linear - start_linear) + "ms" );
     }
    private static int linearSearch(int list[],int key)
    {

    //finds an element in a list
       for(int i=0;i<list.length;i++)
       {
           //if element is found, element is then returned
           if(list[i]==key)
               return i;
       }
       //if element is not found, -1 is returned
       return -1;
    }
}
import java.util.Random;
公共类HelloWorld{
Random rand=新的Random();
int num=rand.nextInt(100);
静态长线性=System.currentTimeMillis();
//非排序数组中的线性搜索
公共静态void main(字符串[]args){
System.out.println(“你好世界”);
System.out.println(“线性搜索时间:“+Linear”);
int[]list={1,3,4,5,6,7};
int键=7;
长启动_线性=System.currentTimeMillis();
线性搜索(列表、键);
长端_线性=System.currentTimeMillis();
System.out.println(“linearSearch take:”+(end\u linear-start\u linear)+“ms”);
}
专用静态整型线性搜索(整型列表[],整型密钥)
{
//在列表中查找元素

对于(int i=0;i在我看来,您正在尝试使用linearSearch函数查找列表上的给定键所需的时间。最好的方法是在调用函数之前和从函数返回之后存储,然后获取差异以查看所用的时间。除非您喜欢相当大的列表,否则可能返回0毫秒,如下图所示因为计算机太快了。你可以做一个while循环并创建一个巨大的数组来查看一些值

import java.util.Random;
public class HelloWorld{
    Random rand = new Random(); 
    int num = rand.nextInt(100); 
    static long linear = System.currentTimeMillis();
    //Linear Search in Unsorted array
     public static void main(String []args){
        System.out.println("Hello World");
        System.out.println("Linear Search Time: " + linear);

        int[] list = {1 ,3 ,4,5,6,7};
        int key = 7;
        long start_linear = System.currentTimeMillis();
        linearSearch(list,key);
        long end_linear = System.currentTimeMillis();
        System.out.println("linearSearch took: " + (end_linear - start_linear) + "ms" );
     }
    private static int linearSearch(int list[],int key)
    {

    //finds an element in a list
       for(int i=0;i<list.length;i++)
       {
           //if element is found, element is then returned
           if(list[i]==key)
               return i;
       }
       //if element is not found, -1 is returned
       return -1;
    }
}
import java.util.Random;
公共类HelloWorld{
Random rand=新的Random();
int num=rand.nextInt(100);
静态长线性=System.currentTimeMillis();
//非排序数组中的线性搜索
公共静态void main(字符串[]args){
System.out.println(“你好世界”);
System.out.println(“线性搜索时间:“+Linear”);
int[]list={1,3,4,5,6,7};
int键=7;
长启动_线性=System.currentTimeMillis();
线性搜索(列表、键);
长端_线性=System.currentTimeMillis();
System.out.println(“linearSearch take:”+(end\u linear-start\u linear)+“ms”);
}
专用静态整型线性搜索(整型列表[],整型密钥)
{
//在列表中查找元素

对于(int i=0;i计算方法执行前后的时间差
linearSearch(整数列表[],整数键)

像这样写最后一行

System.out.println("Linear Search Time: " + ( System.currentTimeMillis() - linear));

计算方法执行前后所用时间的差值
linearSearch(整数列表[],整数键)

像这样写最后一行

System.out.println("Linear Search Time: " + ( System.currentTimeMillis() - linear));
currentTimeMillis()返回自UTC 1970年1月1日午夜以来的毫秒数

您所做的只是打印当前时间。搜索完成后,再次获取当前时间,并从.currentTimeMillis()中减去第一次得到的值

static long linearFinish = System.currentTimeMillis();
System.out.println("Linear Search Time: " + (linearFinish - linear));
currentTimeMillis()返回自UTC 1970年1月1日午夜以来的毫秒数

您所做的只是打印当前时间。搜索完成后,再次获取当前时间,并从.currentTimeMillis()中减去第一次得到的值

static long linearFinish = System.currentTimeMillis();
System.out.println("Linear Search Time: " + (linearFinish - linear));

下面是一些将运行的代码,并打印出函数运行所需的时间。您遇到的问题是,您需要的是系统时间,这是一个很大的数字,因为它是计算机运行的时间。要获得函数运行所需的时间,我们只需在运行之前询问时间,让我们调用t1。然后我们运行函数。在函数完成运行后,我们再次询问时间,我们称之为t2。然后我们取t2-t1。这个差值是函数运行所需的时间,以及执行计算所需的时间(最小值)。还要注意,在我的示例中,输出的时间将为零,因为数组非常小,而且计算速度非常快

import java.util.Random;

public class App {

Random rand = new Random(); //stays same
int num = rand.nextInt(100); //stays same
static long linear = 0;//more optimal to move where initial time is set (t1)

//main where things are run ;)
public static void main(String[] args) {

    //could be placed outside in the class
    int[] array = {1,2,3,4,5};//some array of numbers
    int key = 5; //a key 

    linear = System.currentTimeMillis();//t1 set
    linearSearch(array, 5);//calling of your search function
    linear = System.currentTimeMillis() - linear; //obtaining the difference between the time, and t2 = System.currentTimeMillis()
    //the function started and when it finished
    System.out.println("Linear Search Time: " + linear);//printing out the difference, which is the time taken
    //also note that the number will likely be zero, as this function will run extremely fast for most arrays.

}

//your function
//Linear Search in Unsorted array
private static int linearSearch(int list[],int key)
{

//finds an element in a list
   for(int i=0;i<list.length;i++)
   {
       //if element is found, element is then returned
       if(list[i]==key)
           return i;
   }
   //if element is not found, -1 is returned
   return -1;
}

}
import java.util.Random;
公共类应用程序{
Random rand=new Random();//保持不变
int num=rand.nextInt(100);//保持不变
静态长线性=0;//在设置初始时间(t1)的位置移动更为优化
//运行事物的主要位置;)
公共静态void main(字符串[]args){
//可以放在教室外面
int[]数组={1,2,3,4,5};//一些数字数组
int key=5;//一个键
线性=System.currentTimeMillis();//t1集
linearSearch(数组,5);//调用搜索函数
线性=System.currentTimeMillis()-线性;//获取时间与t2=System.currentTimeMillis()之间的差值
//函数已启动,何时完成
System.out.println(“线性搜索时间:+线性);//打印出差异,即所用的时间
//还请注意,该数字可能为零,因为对于大多数阵列,此函数的运行速度非常快。
}
//你的职能
//非排序数组中的线性搜索
专用静态整型线性搜索(整型列表[],整型密钥)
{
//在列表中查找元素

对于(int i=0;i下面是一些将运行的代码,并打印出函数运行所需的时间。您遇到的问题是,您需要的是系统时间,这是一个巨大的数字,因为它是计算机运行的时间。要获得函数运行所需的时间,我们只需在运行之前询问时间,让我们来c全部在t1中。然后我们运行函数。在函数完成运行后,我们再次询问时间,让我们调用