Perlu kita ketahui bahwa program terkadang perlu menangani bilangan bulat yang besar , lalu apa yang harus kita lakukan? Kita dapat menggunakan kelas BigInteger dalam paket java.math untuk menyediakan operasi bilangan bulat presisi arbitrer dengan membuat objek desimal BigInteger menggunakan metode konstruksi public BigInteger(String val).
Konstruktor ini dapat menghasilkan pengecualian NumberFormatException . Artinya, jika parameter string val berisi karakter non-numerik, pengecualian NumberFormatException akan terjadi.
Metode kelas BigInteger yang umum digunakan adalah sebagai berikut:
Mengembalikan jumlah objek bilangan bulat besar saat ini dan objek bilangan bulat besar yang ditentukan oleh parameter.
Mengembalikan perbedaan antara objek bilangan bulat besar saat ini dan objek bilangan bulat besar yang ditentukan oleh parameter.
Mengembalikan produk dari objek bilangan bulat besar saat ini dan objek bilangan bulat besar yang ditentukan oleh parameter.
Mengembalikan hasil bagi objek bilangan bulat besar saat ini dan objek bilangan bulat besar yang ditentukan oleh parameter.
Mengembalikan sisa objek bilangan bulat besar saat ini dan objek bilangan bulat besar yang ditentukan oleh parameter.
Mengembalikan hasil perbandingan antara objek bilangan bulat besar saat ini dan bilangan bulat besar yang ditentukan oleh parameter. Nilai yang dikembalikan adalah 1, -1, atau 0, yang masing-masing menunjukkan bahwa objek bilangan bulat besar saat ini lebih besar dari, kurang dari, atau sama dengan besar. bilangan bulat yang ditentukan oleh parameter.
Mengembalikan nilai absolut dari objek bilangan bulat besar saat ini.
Mengembalikan objek bilangan bulat besar saat ini yang dipangkatkan a.
Mengembalikan representasi string desimal dari objek bilangan bulat besar saat ini.
Mengembalikan representasi string berbasis-p dari objek bilangan bulat besar saat ini.
Mari kita lihat metode penggunaan kelas bilangan bulat besar. Mari kita ambil contoh soal penjumlahan bilangan besar. Ini memerlukan penghitungan jumlah a + b. Namun, pertanyaan ini dengan jelas menyatakan bahwa dua bilangan a dan b tidak melebihi 1000 digit. Bayangkan saja Seperti yang kita ketahui, operasi plastik umum pasti tidak cocok. Penambahan angka 1000 digit adalah miliaran. Namun, metode konvensional adalah dengan menyimpan angka dalam array dan mensimulasikan operasi seperti penjumlahan dan pengangkutan , yang lebih sulit dioperasikan. Dan jika Anda menggunakan kelas integer besar Java, kodenya sangat sederhana, sebagai berikut:
importjava.math.BigInteger;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);BigIntegera=sc.nextBigInteger();BigIntegerb=sc.nextBigInteger();System.out .println(a.tambahkan(b));}}
Anda dapat mengujinya di komputer Anda sendiri dan menyelesaikannya.
Dibandingkan dengan bahasa lain, seperti C dan C++, kecepatan penyelesaian masalah sangat cepat.