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

Laravel menyokong penggunaan pertanyaan SQL asli, tetapi parameter mengikat harus lebih disukai untuk memastikan keselamatan; 1. Gunakan db :: pilih () untuk melaksanakan pertanyaan pilih dengan parameter mengikat untuk mencegah suntikan SQL; 2. Gunakan db :: kemas kini () untuk melaksanakan operasi kemas kini dan mengembalikan bilangan baris yang terjejas; 3. Gunakan db :: masukkan () untuk memasukkan data; 4. Gunakan db :: padam () untuk memadam data; 5. Gunakan db :: pernyataan () untuk melaksanakan pernyataan SQL tanpa set keputusan seperti membuat, mengubah, dan sebagainya; 6. Adalah disyorkan untuk menggunakan Whereraw, SelectRaw dan kaedah lain dalam QueryBuilder untuk menggabungkan ungkapan asli untuk meningkatkan keselamatan

Gunakan Junit5 dan Mockito untuk mengasingkan kebergantungan secara berkesan untuk ujian unit. 1. Buat objek mengejek melalui @mock, @Injectmocks menyuntik contoh yang diuji, @extendwith membolehkan lanjutan Mockito; 2. Gunakan bila (). KemudianReturn () untuk menentukan tingkah laku simulasi, sahkan () untuk mengesahkan bilangan panggilan dan parameter; 3. Boleh mensimulasikan senario pengecualian dan mengesahkan pengendalian ralat; 4. Mengesyorkan suntikan pembina, elakkan daripada simulasi, dan mengekalkan atom ujian; 5. Gunakan assertAll () untuk menggabungkan pernyataan, dan @nested menganjurkan senario ujian untuk meningkatkan penguraikan ujian dan kebolehpercayaan.

Go Generik disokong sejak 1.18 dan digunakan untuk menulis kod generik untuk jenis selamat. 1. Fungsi generik printslice [tany] (s [] t) boleh mencetak kepingan mana -mana jenis, seperti [] int atau [] rentetan. 2. Melalui had bilangan kekangan jenis t ke jenis angka seperti int dan float, jumlah [tnumber] (slice [] t) t Summation selamat direalisasikan. 3. Struktur generik Typebox [Tany] struct {valuet} boleh merangkum sebarang nilai jenis dan digunakan dengan pembina kotak baru [Tany] (Vt)*. 4. Tambahkan set (vt) dan dapatkan () kaedah t untuk kotak [t] tanpa

Layout Jadual: Tetap akan memaksa lebar lajur jadual ditentukan oleh lebar sel baris pertama untuk mengelakkan kandungan yang mempengaruhi susun atur. 1. Tetapkan jadual-Layout: Tetapkan dan tentukan lebar jadual; 2. Tetapkan nisbah lebar lajur tertentu untuk baris pertama th/td; 3. Gunakan ruang putih: nowrap, limpahan: tersembunyi dan teks-overflow: ellipsis untuk mengawal limpahan teks; 4. Berkenaan dengan pengurusan latar belakang, laporan data dan senario lain yang memerlukan susun atur yang stabil dan rendering berprestasi tinggi, yang secara efektif dapat menghalang susun atur susun atur dan meningkatkan kecekapan rendering.

json.loads () digunakan untuk menghuraikan rentetan json ke dalam struktur data python. 1. Input mestilah rentetan yang dibungkus dalam petikan berganda dan nilai boolean adalah benar/palsu; 2. Menyokong penukaran automatik Null → Tiada, Objek → Dict, Array → List, dan sebagainya; 3. Ia sering digunakan untuk memproses rentetan JSON yang dikembalikan oleh API. Sebagai contoh, response_string boleh diakses secara langsung selepas parsing oleh json.loads (). Apabila menggunakannya, anda mesti memastikan bahawa format JSON betul, jika tidak, pengecualian akan dibuang.

ChoosetheapproprateindextypebasedOnusecase, suchassinglefield, compound, multikey, text, geospatial, orttlindexes.2.aplytheesrrulewhencreatinginginginDexesbyorderingfieldsasequaly, sort, thenrange

Maven adalah alat standard untuk pengurusan dan pembinaan projek Java. Jawapannya terletak pada hakikat bahawa ia menggunakan pom.xml untuk menyeragamkan struktur projek, pengurusan pergantungan, automasi kitaran hayat pembinaan dan sambungan pemalam; 1. Gunakan pom.xml untuk menentukan kumpulan, artifactid, versi dan kebergantungan; 2. Perintah teras utama seperti mvnclean, penyusun, ujian, pakej, memasang dan menggunakan; 3. Gunakan DependencyManagement dan Pengecualian untuk Menguruskan Versi Ketergantungan dan Konflik; 4. Mengatur aplikasi besar melalui struktur projek multi-modul dan diuruskan secara seragam oleh POM induk; 5.

Dalam Python, pemindahan hujah fungsi adalah "lulus rujukan objek", iaitu, 1 untuk objek yang boleh berubah (seperti senarai dan kamus), pengubahsuaian dalam-situ (seperti tambahan, kepingan tugasan) dalam fungsi akan secara langsung mempengaruhi objek asal; 2. Untuk objek yang tidak berubah (seperti integer, rentetan), objek asal tidak dapat diubah dalam fungsi, dan menugaskan semula hanya akan membuat objek baru; 3. Parameter lulus salinan rujukan. Jika pemboleh ubah ditolak dalam fungsi (seperti LST = [...]), sambungan dengan objek asal tidak akan terjejas, dan pembolehubah luaran tidak akan terjejas. Oleh itu, mengubahsuai objek yang boleh berubah mempengaruhi data asal, sementara objek yang tidak berubah dan penugasan semula tidak, yang menjelaskan mengapa senarai itu dapat dilihat secara luaran selepas pengubahsuaian dalam fungsi, sementara perubahan integer hanya di dalam negara.
