Dalam contoh ini, kita akan belajar mengira waktu pelaksanaan kaedah biasa dan kaedah rekursif di Jawa.
Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan Java berikut:
- Kaedah Java
- Pengembalian Java
Contoh 1: Program Java untuk mengira masa pelaksanaan kaedah
class Main ( // create a method public void display() ( System.out.println("Calculating Method execution time:"); ) // main method public static void main(String() args) ( // create an object of the Main class Main obj = new Main(); // get the start time long start = System.nanoTime(); // call the method obj.display(); // get the end time long end = System.nanoTime(); // execution time long execution = end - start; System.out.println("Execution time: " + execution + " nanoseconds"); ) )
Pengeluaran
Masa pelaksanaan Kaedah Pengiraan: Masa pelaksanaan: 656100 nanodetik
Dalam contoh di atas, kami telah membuat kaedah yang dinamakan display()
. Kaedah mencetak pernyataan ke konsol. Program ini mengira masa pelaksanaan kaedah display()
.
Di sini, kami telah menggunakan kaedah nanoTime()
daripada System
kelas. The nanoTime()
Cara mengembalikan nilai semasa bagi JVM berjalan dalam nanosaat.
Contoh 2: Hitung masa pelaksanaan kaedah Recursive
class Main ( // create a recursive method public int factorial( int n ) ( if (n != 0) // termination condition return n * factorial(n-1); // recursive call else return 1; ) // main method public static void main(String() args) ( // create object of Main class Main obj = new Main(); // get the start time long start = System.nanoTime(); // call the method obj.factorial(128); // get the end time long end = System.nanoTime(); // execution time in seconds long execution = (end - start); System.out.println("Execution time of Recursive Method is"); System.out.println(execution + " nanoseconds"); ) )
Pengeluaran
Masa pelaksanaan Kaedah Rekursif ialah 18600 nanodetik
Dalam contoh di atas, kami mengira masa pelaksanaan kaedah rekursif yang dinamakan factorial()
.