輸出五個隨機數,並計算程序運行時間
工作環境:公司新配置的電腦,啥也沒有,裝了個idea、jdk、mysql就搞起來了,閒來無事,寫個簡單的程序開發下大腦
需求描述:利用Math.random()輸出五個不重複的隨機整數,並計算程序的運行時間(後面自己加的)
貼代碼
package com.cold.know.Ju;
import java.text.SimpleDateFormat;
import java.util.Date;
public class algorithm {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String start = format.format(date);
System.out.println(start);
//計算時間(開始時間)
Long startTime = System.currentTimeMillis();
long startTime1 = System.nanoTime(); //獲取開始時間
//輸出五個不重複的隨機數
int[] arr = new int[5];
/*
* 思維分解1:先輸出五個數*/
for (int i=0;i<5;i++){
int r = (int)(Math.random()*100);
boolean info = true;
for(int j=0;j<i;j++){
if(r==arr[j]){
info = false;
i--;
break;
}
}
if(info){
arr[i] = r;
System.out.println(r);
}
}
//計算時間(結束時間)
Long endTime = System.currentTimeMillis();
System.out.println("程序運行耗時:"+(endTime-startTime)+"ms");
long endTime1 = System.nanoTime(); //獲取開始時間
System.out.println("程序運行時間: "+(endTime1-startTime1)+"ns");
}
}
尷尬,由於比較懶,給貼全了,但是沒關係,更加全面了
這裏有個問題,就是計算時間這塊,也不知道自己咋想的,直接就SimpleDateFormat(手動滑稽),寫到這才反應過來。。。
這裏計算程序的運行時間應該使用System.currentTimeMillis(),利用endTime-startTime就可計算出時間,測試得知這個簡單的程序毫秒是算不出來這個時間的,得用比他還小的納秒。
下面是運行時候的截圖
得,貼下時間轉換好吧(別問我這個時間轉換哪來的,問就是不知道)
秒,時間單位,符號s(英語:second):
0.000 000 001 毫秒 = 1皮秒
0.000 001 毫秒 = 1納秒
0.001 毫秒 = 1微秒
1毫秒=0.001秒
60秒=1分鐘
60分鐘=1小時
24小時=1天
7天=1星期
30,31,28或29天=1月
12月=1年
100年=1世紀。
微秒,時間單位,符號μs(英語:microsecond ):1秒的百萬分之一(10-6秒)
0.000 001 微秒 = 1皮秒
0.001 微秒 = 1納秒
1,000 微秒 = 1毫秒
1,000,000 微秒 = 1秒
納秒,時間單位,符號ns(英語nanosecond):1秒的10億分之一。常用作內存讀寫速度的單位,其前面數字越小表示速度越快。
毫秒,時間單位,符號ms(英語:millisecond ):1秒的千分之一(10-3秒)
0.000 000 001 毫秒 = 1皮秒
0.000 001 毫秒 = 1納秒
0.001 毫秒 = 1微秒
1000 毫秒 = 1秒