Jadual Kandungan
Bagaimana untuk Melaksanakan Program Java?
Contoh Faktorial menggunakan pelbagai Kaedah
Contoh 1 – Menggunakan Kaedah Asas
Contoh 2 – Menggunakan Input Pengguna
Contoh 3 – Menggunakan Kaedah Rekursi
Keburukan
Example 4 – Using built-in Function
Conclusion – Factorial in Java
Rumah Java javaTutorial Faktorial di Jawa

Faktorial di Jawa

Aug 30, 2024 pm 04:25 PM
java

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-olok

Mulakan 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:

Faktorial di Jawa

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:

Faktorial di Jawa

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:

Faktorial di Jawa

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1545
276
Cara menghantar dan menerima mesej melalui websocket di java Cara menghantar dan menerima mesej melalui websocket di java Aug 16, 2025 am 10:36 AM

Buat titik akhir pelayan WebSocket untuk menentukan laluan menggunakan @ServerEndPoint, dan mengendalikan sambungan, penerimaan mesej, penutupan dan kesilapan melalui @onopen, @onmessage, @onclose dan @onerror; 2. Pastikan bahawa Javax.Websocket-API kebergantungan diperkenalkan semasa penempatan dan secara automatik didaftarkan oleh bekas; 3. Pelanggan Java memperoleh WebSocketContainer melalui containerProvider, memanggil ConnectToServer untuk menyambung ke pelayan, dan menerima mesej menggunakan kelas anotasi @Clientendpoint; 4. Gunakan sesi getBasicre

Bagaimana cara mengkonfigurasi pembalakan dalam aplikasi Java? Bagaimana cara mengkonfigurasi pembalakan dalam aplikasi Java? Aug 15, 2025 am 11:50 AM

Menggunakan SLF4J yang digabungkan dengan Logback atau Log4J2 adalah cara yang disyorkan untuk mengkonfigurasi log dalam aplikasi Java. Ia memperkenalkan API dan perpustakaan pelaksanaan dengan menambahkan kebergantungan Maven yang sepadan; 2. Dapatkan logger melalui loggerfactory SLF4J dalam kod, dan tulis kod log yang dihancurkan dan cekap menggunakan kaedah pembalakan parameter; 3. Tentukan Format Output Log, Tahap, Sasaran (Konsol, Fail) dan Kawalan Log Tahap Pakej melalui fail konfigurasi logback.xml atau log4j2.xml; 4. Secara pilihan membolehkan fungsi pengimbasan fail konfigurasi untuk mencapai pelarasan dinamik tahap log, dan springboot juga boleh diuruskan melalui titik akhir penggerak; 5. Ikuti amalan terbaik, termasuk

Cara Menggunakan Aplikasi Java Cara Menggunakan Aplikasi Java Aug 17, 2025 am 12:56 AM

PreparyourapplicationByusingMavenorgradletobuildajarorwarfile, externalizingConfiguration.2.Chooseadeploymentenvironment: runonbaremetal/vmwithjava-jarandsystemd, deploywarontomcat, containerizeWithdoStloStLoThoStLoThoStLoThoStLoThoStLoUsToStLoUsToStLoUsToStLours.

Data XML mengikat dengan Castor di Java Data XML mengikat dengan Castor di Java Aug 15, 2025 am 03:43 AM

Castorenablesxml-to-javaobjectmappingviadefaultconventionsorexplicitmappingfiles; 1) definejavaclasswithgetters/setters; 2) useunmarshallertoconvertxmltoobjects;

Amalan terbaik keselamatan phpmyadmin Amalan terbaik keselamatan phpmyadmin Aug 17, 2025 am 01:56 AM

Untuk melindungi phpmyadmin dengan berkesan, pelbagai lapisan langkah keselamatan mesti diambil. 1. Mengehadkan akses melalui IP, hanya sambungan IP yang dipercayai dibenarkan; 2. Ubah suai laluan URL lalai ke nama yang tidak mudah ditebak; 3. Gunakan kata laluan yang kuat dan buat pengguna MySQL yang berdedikasi dengan keizinan yang diminimumkan, dan disyorkan untuk membolehkan pengesahan dua faktor; 4. Simpan versi phpmyadmin untuk menetapkan kelemahan yang diketahui; 5. Mengukuhkan konfigurasi pelayan web dan PHP, melumpuhkan fungsi berbahaya dan menyekat pelaksanaan fail; 6. memaksa HTTPS untuk menyulitkan komunikasi untuk mencegah kebocoran kredensial; 7. Lumpuhkan phpmyadmin apabila tidak menggunakan atau meningkatkan pengesahan asas HTTP; 8. Secara kerap memantau balak dan konfigurasikan Fail2Ban untuk mempertahankan terhadap retak kekerasan; 9. Padam persediaan dan

Excel autofill tidak berfungsi Excel autofill tidak berfungsi Aug 15, 2025 pm 01:19 PM

EnsureAutofillisenablyChecking "EnableFillhandleandCelldrag-and-drop" Infile> Options> Advanced; 2.CorrectLyusethefillhandle-theSmallsquareatthebottom-rightoftheselectedCell-DraggingWithTheBlackpluscursor, NotThewhiteerSor, NotThewhiteerSor, NotThewhiteerSor, NotThewhiteerSor, NotThewhiteerSor, NotThewhiteerSor, NotThewhiteerSor, NotThewhiteSroWh

Apakah kata kunci menegaskan di Java? Apakah kata kunci menegaskan di Java? Aug 17, 2025 am 12:52 AM

TheassertkeywordinJavaisusedtovalidateassumptionsduringdevelopment,throwinganAssertionErroriftheconditionisfalse.2.Ithastwoforms:assertcondition;andassertcondition:message;withthelatterprovidingacustomerrormessage.3.Assertionsaredisabledbydefaultandm

Cara menjalankan arahan baris arahan dari Java Cara menjalankan arahan baris arahan dari Java Aug 16, 2025 am 11:52 AM

Gunakan runtime.exec () untuk melaksanakan arahan luaran, tetapi array rentetan perlu digunakan untuk mengelakkan masalah ruang; 2. Adalah disyorkan untuk menggunakan Processbuilder kerana ia lebih fleksibel, dan boleh menetapkan pembolehubah persekitaran, direktori kerja dan sintaks yang jelas; 3. Anda harus membaca stdout dan stderr pada masa yang sama dan memproses aliran input dan output; 4. Elakkan suntikan perintah dan mengendalikan pengecualian dan penutupan aliran dengan betul; 5. Beri perhatian kepada kebergantungan platform arahan, dan kod baru harus memberi keutamaan untuk menggunakan ProcessBuilder untuk memastikan keselamatan dan penyelenggaraan.

See all articles