เราต้องรู้ว่าบางครั้งโปรแกรมจำเป็นต้องจัดการกับ จำนวนเต็มขนาดใหญ่ แล้วเราควรทำอย่างไร? เราสามารถใช้ คลาส BigInteger ในแพ็คเกจ java.math เพื่อให้การดำเนินการจำนวนเต็มที่มีความแม่นยำโดยการสร้างวัตถุ BigInteger ทศนิยมโดยใช้วิธีการก่อสร้าง public BigInteger(String val)
ตัวสร้างนี้สามารถสร้าง ข้อยกเว้น NumberFormatException กล่าวคือ หากพารามิเตอร์สตริง val มีอักขระที่ไม่ใช่ตัวเลข ข้อยกเว้น NumberFormatException จะเกิดขึ้น
วิธีการที่ใช้กันทั่วไปของคลาส BigInteger มีดังนี้:
ส่งกลับผลรวมของวัตถุจำนวนเต็มขนาดใหญ่ในปัจจุบันและวัตถุจำนวนเต็มขนาดใหญ่ที่ระบุโดยพารามิเตอร์
ส่งกลับค่าความแตกต่างระหว่างวัตถุจำนวนเต็มขนาดใหญ่ในปัจจุบันและวัตถุจำนวนเต็มขนาดใหญ่ที่ระบุโดยพารามิเตอร์
ส่งคืนผลคูณของวัตถุจำนวนเต็มขนาดใหญ่ในปัจจุบันและวัตถุจำนวนเต็มขนาดใหญ่ที่ระบุโดยพารามิเตอร์
ส่งกลับผลหารของวัตถุจำนวนเต็มขนาดใหญ่ในปัจจุบันและวัตถุจำนวนเต็มขนาดใหญ่ที่ระบุโดยพารามิเตอร์
ส่งกลับค่าเศษของวัตถุจำนวนเต็มขนาดใหญ่ปัจจุบันและวัตถุจำนวนเต็มขนาดใหญ่ที่ระบุโดยพารามิเตอร์
ส่งกลับผลลัพธ์การเปรียบเทียบระหว่างวัตถุจำนวนเต็มขนาดใหญ่ในปัจจุบันและจำนวนเต็มขนาดใหญ่ที่ระบุโดยพารามิเตอร์ ค่าที่ส่งคืนคือ 1, -1 หรือ 0 ซึ่งตามลำดับบ่งชี้ว่าวัตถุจำนวนเต็มขนาดใหญ่ในปัจจุบันมีค่ามากกว่า น้อยกว่า หรือเท่ากับค่าขนาดใหญ่ จำนวนเต็มที่ระบุโดยพารามิเตอร์
ส่งกลับค่าสัมบูรณ์ของวัตถุจำนวนเต็มขนาดใหญ่ในปัจจุบัน
ส่งกลับวัตถุจำนวนเต็มขนาดใหญ่ในปัจจุบันที่ยกกำลัง a
ส่งกลับการแสดงสตริงทศนิยมของวัตถุจำนวนเต็มขนาดใหญ่ในปัจจุบัน
ส่งกลับการแสดงสตริง p-base ของวัตถุจำนวนเต็มขนาดใหญ่ในปัจจุบัน
มาดูวิธีการใช้คลาสจำนวนเต็มขนาดใหญ่กัน มาดูตัวอย่างการบวกเลขจำนวนมากกันดีกว่า อย่างไรก็ตาม คำถามนี้ระบุชัดเจนว่าตัวเลข a และ b ไม่เกิน 1,000 หลัก คุณคิดออกไหม ดังที่เราทราบ การทำศัลยกรรมพลาสติกทั่วไปจะไม่เข้ากันอย่างแน่นอน การบวกเลข 1,000 หลักเป็นพันล้าน อย่างไรก็ตาม วิธีการทั่วไปคือการเก็บตัวเลขไว้ในอาร์เรย์และจำลองการดำเนินการ เช่น การบวกและการพกพา ซึ่งยุ่งยากในการทำงานมากกว่า และถ้าคุณใช้คลาสจำนวนเต็มขนาดใหญ่ของ Java โค้ดจะง่ายมากดังนี้:
importjava.math.BigInteger;importjava.util.Scanner;publicclassMain {publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);BigIntegera=sc.nextBigInteger();BigIntegerb=sc.nextBigInteger();System.out .println(ก.เพิ่ม(ข));}}
คุณสามารถทดสอบบนคอมพิวเตอร์ของคุณเองและดำเนินการให้เสร็จสิ้น
เมื่อเทียบกับภาษาอื่นๆ เช่น C และ C++ ความเร็วในการแก้ปัญหานั้นเร็วมาก