Dalam artikel ini, kita akan mempelajari tentang pelbagai cara menulis kod dalam Bahasa Pengaturcaraan Java?untuk tujuan Pengiraan Faktor. Menjadi salah satu Bahasa Mudah Digunakan, Berorientasikan Objek, Java, adalah Bebas Platform dan Bahasa Pengaturcaraan Mudah. Penyusun dan Jurubahasa Java dibangunkan dengan Keselamatan sebagai aspek utama. Java mempunyai pelbagai julat aplikasi.
IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olokMulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Faktorial, dilambangkan sebagai “!” (tanda seru), ialah operasi Matematik bagi Mendarab nombor dengan semua nombor yang lebih kecil. Sebagai contoh, jika nombornya ialah 5, output untuk faktorial ialah 5! = 5*4*3*2*1 = 120.
Bagaimana untuk Melaksanakan Program Java?
1. Lengkapkan kod anda dan simpan sebagai (nama fail).java
2. Buka Terminal dan jalankan arahan java berikut.
- a. javac (nama fail).java
3. Perintah di atas akan menghasilkan fail kelas.
4. Sekarang, laksanakan fail kelas.
- a. java (nama fail)
Contoh Faktorial menggunakan pelbagai Kaedah
Di bawah adalah contoh berbeza menggunakan pelbagai kaedah:
Contoh 1 – Menggunakan Kaedah Asas
Melangkah ke hadapan, kami kini akan menulis Program Java yang mudah untuk Pengiraan Faktor.
public class Factorial { public static void main(String args[]) {int i, fact=1; int number=5; for(i=1;i<=number;i++) { fact=fact*i; } System.out.println("Factorial of "+number+" is: "+fact); } }
Simpan kod di atas dengan sebarang nama fail dan sambungan .java.
Penjelasan Kod:
Ia bermula dengan dua pembolehubah, "i" dan "fakta," dengan nilai 1, kemudian "nombor" dengan 5, iaitu nombor kami untuk mengira faktorial. Saya pergi ke For Loop, terus meningkatkan nilai i sehingga kita memadankannya dengan nombor, iaitu 5. Semasa menambah, setiap kali nilai fakta meningkat, ia didarabkan dan fakta diberikan nilai baharu.
Output:
Contoh 2 – Menggunakan Input Pengguna
Kaedah lain yang biasa digunakan ialah kami meminta nombor input pengguna untuk pengiraan dan bukannya mentakrifkannya terlebih dahulu.
Rujuk kod di bawah untuk Pengiraan Berdasarkan Input Pengguna:
import java.util.Scanner; class Facto{ public static void main(String args[]) { int q, a, fact = 1; System.out.println("Please Enter a number:"); Scanner in = new Scanner(System.in); q = in.nextInt(); if ( q < 0 ) System.out.println("Please enter a number greater than 0:"); else { for ( a = 1 ; a <= q ; a++ ) fact = fact*a; System.out.println("Factorial of "+q+" is = "+fact); } } }
Simpan kod di atas seperti yang kita lakukan untuk contoh terdahulu.
Penjelasan Kod:
Perbezaan utama antara contoh terdahulu dan di atas ialah input pengguna; Rehat pun sama. Kod akan meminta nombor untuk dikira, kemudian jika nombor yang dimasukkan oleh pengguna adalah Negatif iaitu dalam "-", tolak, ia akan menggesa "Sila masukkan nombor yang lebih besar daripada 0:", yang jelas kerana Faktorial tidak boleh dikira untuk nombor Negatif. Sekarang, ia akan menerima nombor positif dan teruskan dengan Mengira Faktorial dan kemudian mencetak output seperti yang ditunjukkan dalam imej di bawah.
Output:
Contoh 3 – Menggunakan Kaedah Rekursi
Rekursi ialah salah satu alat yang paling berguna dalam dunia pengaturcaraan. Rekursi pada asasnya bermaksud menggunakan semula fungsi. Jadi untuk mengatakan, kita tidak perlu mentakrifkan bilangan pembolehubah tambahan di sini, yang bermaksud kita hanya mempunyai dua pembolehubah atau kurang.
Sebab utama untuk melaksanakan Rekursi ialah kuasa untuk mengurangkan panjang kod dan secara elegan mengurangkan kerumitan masa sesuatu program. Kaedah rekursi, dengan kelebihannya, mempunyai beberapa kelemahan yang boleh memberi kesan besar dalam jangka masa panjang.
Keburukan
Keburukan dengan rekursi:
- Pada asasnya, agak sukar untuk menyahpepijat kod rekursi dan mengesannya untuk sebarang langkah dengan ralat.
- Selain daripada itu, rekursi menggunakan lebih banyak memori, kerana ia menggunakan Stack untuk menyelesaikan tugas, di mana ia terus menambah tindanan dengan panggilan rekursif yang lebih baharu.
- Dan, jika tidak dilaksanakan dengan bijak, Rekursi boleh melambatkan fungsi.
- StackOverflowException: Kaedah rekursif sering membuang Exception ini disebabkan penggunaan tindanan yang berlebihan.
Rujuk kod di bawah:
public class FactorialExample2 { static int factorial(int n){ if (n == 1) return 1; else return(n * factorial(n-1)); } public static void main(String[] args) { System.out.println("Factorial of 5 is: "+factorial(5)); } }
Simpan dan susun atur cara seperti yang kami lakukan sebelum ini.
Penjelasan Kod:
The above code starts with a single int variable and checks if it is equal to 1; if yes, it returns one, as factorial for 1 is 1. If not equal to 1, it proceeds with the recursion function. Our int value, for example, is 5, so it’ll be like “5 * factorial(5-1)”, factorial is called here for the second time, which is another call. Then it returns again with a newer int value, which is 4, “4 * factorial(4-1)”, now it’ll be the third call to the recursion method. Now, the newer int value is 3, which means “3 * factorial(3-1)”, now it’ll be the fourth call, and the value will be 2, which means “2 * factorial(2-1)”. The int value will be one in the next recursive call, which will terminate the function here. While every call was made, its value was saved in a Stack, which is a LIFO method. So, for the final Output, the result will be “5*4*3*2*1 = 120.”
Compared to other methods, Recursion is quite difficult to understand and to implement, but if understood well and implemented wisely, it is a good tool.
Output:
It is highly recommended to use Recursion only in the case where writing an iterative code can be quite complex.
Now that we have learned various methods for implementing Factorial Calculations in Java Let’s explore a Built-in function that does the same work in a single line.
Example 4 – Using built-in Function
*) IntMath
Understanding the need for arithmetic operations over a value, a few functions specific to certain value types were written, we will see the Integer type value in work.
IntMath is a class for arithmetic calculations on an int value. IntMath class comes with a range of arithmetic operations, including factorial.
Syntax:
factorial (int n)
Conclusion –?Factorial in Java
We started with an introduction to java and how to run a java program. Then we learned about Factorial Calculation and various methods, including Recursion, to accomplish it.
Towards the end, we learned about IntMath; a Java Function primarily focused on Arithmetic operations. Java is a widely-used programming language; it comes with many features; in this article, we learned about Factorial Calculations in Java, which is a tiny aspect.
Atas ialah kandungan terperinci Faktorial di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Penggunaan rasional tag semantik dalam HTML dapat meningkatkan kejelasan struktur halaman, aksesibilitas dan kesan SEO. 1. Digunakan untuk blok kandungan bebas, seperti jawatan blog atau komen, ia mesti mandiri; 2. Digunakan untuk kandungan berkaitan klasifikasi, biasanya termasuk tajuk, dan sesuai untuk modul yang berlainan halaman; 3. Digunakan untuk maklumat tambahan yang berkaitan dengan kandungan utama tetapi tidak teras, seperti cadangan sidebar atau profil pengarang. Dalam perkembangan sebenar, label harus digabungkan dan lain -lain, elakkan bersarang yang berlebihan, pastikan struktur mudah, dan sahkan rasionalitas struktur melalui alat pemaju.

Apabila anda menghadapi "operasi ini memerlukan peningkatan keizinan", ini bermakna anda memerlukan kebenaran pentadbir untuk diteruskan. Penyelesaian termasuk: 1. Klik kanan program "Run As Administrator" atau tetapkan pintasan untuk sentiasa dijalankan sebagai pentadbir; 2. Periksa sama ada akaun semasa adalah akaun pentadbir, jika tidak, menukar atau meminta bantuan pentadbir; 3. Gunakan Kebenaran Pentadbir untuk membuka command prompt atau PowerShell untuk melaksanakan perintah yang relevan; 4. Menghapuskan sekatan dengan mendapatkan pemilikan fail atau mengubah suai pendaftaran apabila perlu, tetapi operasi tersebut perlu berhati -hati dan memahami sepenuhnya risiko. Sahkan identiti kebenaran dan cuba kaedah di atas biasanya menyelesaikan masalah.

Terdapat tiga perbezaan utama antara yang boleh dipanggil dan boleh dijalankan di Jawa. Pertama, kaedah yang boleh dipanggil boleh mengembalikan hasilnya, sesuai untuk tugas -tugas yang perlu mengembalikan nilai, seperti yang boleh dipanggil; Walaupun kaedah run () runnable tidak mempunyai nilai pulangan, sesuai untuk tugas -tugas yang tidak perlu kembali, seperti pembalakan. Kedua, Callable membolehkan untuk membuang pengecualian yang diperiksa untuk memudahkan penghantaran ralat; Walaupun Runnable mesti mengendalikan pengecualian secara dalaman. Ketiga, Runnable boleh dihantar secara langsung ke benang atau executorservice, sementara yang boleh dipanggil hanya boleh dikemukakan ke executorservice dan mengembalikan objek masa depan untuk

JavaprovidesmultiplesynchronizationToolsforthreadsafety.1.SynchronizedBlockSensensureMutualExclusionByLockingMethodsorspecificcodesections.2.reentrantlockoffersadvancedControl, termasuktrylockandfairnesspolicies.condition

Mekanisme pemuatan kelas Java dilaksanakan melalui kelas, dan aliran kerja terasnya dibahagikan kepada tiga peringkat: memuatkan, menghubungkan dan memulakan. Semasa fasa pemuatan, kelas muat turun secara dinamik membaca bytecode kelas dan mencipta objek kelas; Pautan termasuk mengesahkan ketepatan kelas, memperuntukkan memori kepada pembolehubah statik, dan rujukan simbol parsing; Inisialisasi melakukan blok kod statik dan tugasan pembolehubah statik. Pemuatan kelas mengamalkan model delegasi induk, dan mengutamakan loader kelas induk untuk mencari kelas, dan cuba bootstrap, lanjutan, dan appliclassloader pada gilirannya untuk memastikan perpustakaan kelas teras selamat dan mengelakkan pemuatan pendua. Pemaju boleh menyesuaikan kelas, seperti UrlClassl

Kunci pengendalian pengecualian Java adalah untuk membezakan antara pengecualian yang diperiksa dan tidak terkawal dan menggunakan percubaan cuba, akhirnya dan pembalakan munasabah. 1. Pengecualian yang diperiksa seperti IOException perlu dipaksa untuk mengendalikan, yang sesuai untuk masalah luaran yang diharapkan; 2. Pengecualian yang tidak terkawal seperti NullPointerException biasanya disebabkan oleh kesilapan logik program dan kesilapan runtime; 3. Apabila menangkap pengecualian, mereka harus khusus dan jelas untuk mengelakkan penangkapan umum pengecualian; 4. Adalah disyorkan untuk menggunakan sumber-sumber cuba untuk menutup sumber secara automatik untuk mengurangkan pembersihan kod manual; 5. Dalam pengendalian pengecualian, maklumat terperinci harus direkodkan dalam kombinasi dengan rangka kerja log untuk memudahkan kemudian

Java menyokong pengaturcaraan asynchronous termasuk penggunaan aliran yang boleh diselesaikan, aliran responsif (seperti ProjectReactor), dan benang maya di Java19. 1.CompletableFuture meningkatkan kebolehbacaan dan penyelenggaraan kod melalui panggilan rantai, dan menyokong orkestrasi tugas dan pengendalian pengecualian; 2. ProjectReactor menyediakan jenis mono dan fluks untuk melaksanakan pengaturcaraan responsif, dengan mekanisme tekanan belakang dan pengendali yang kaya; 3. Thread maya mengurangkan kos konvensional, sesuai untuk tugas I/O-intensif, dan lebih ringan dan lebih mudah untuk berkembang daripada benang platform tradisional. Setiap kaedah mempunyai senario yang berkenaan, dan alat yang sesuai harus dipilih mengikut keperluan anda dan model campuran harus dielakkan untuk mengekalkan kesederhanaan

Polimorfisme adalah salah satu ciri utama pengaturcaraan berorientasikan objek Java. Intinya terletak pada "satu antara muka, pelbagai pelaksanaan". Ia melaksanakan antara muka bersatu untuk mengendalikan tingkah laku objek yang berbeza melalui warisan, kaedah penulisan semula dan transformasi ke atas. 1. Polimorfisme membolehkan kelas induk merujuk kepada objek subkelas, dan kaedah yang sepadan dipanggil mengikut objek sebenar semasa runtime; 2. Pelaksanaannya perlu memenuhi tiga syarat hubungan warisan, kaedah penulisan semula dan transformasi ke atas; 3. Ia sering digunakan untuk mengendalikan objek subkelas yang berbeza, penyimpanan koleksi dan reka bentuk kerangka; 4. Apabila digunakan, hanya kaedah yang ditakrifkan oleh kelas induk boleh dipanggil. Kaedah baru yang ditambahkan ke subkelas perlu diubah ke bawah dan diakses, dan memberi perhatian kepada jenis keselamatan.
