Nie zawsze uda Nam się zmieścić w zakresie typu podstawowego liczb całkowitych Integer, itp.
Przychodzą Nam wtedy z pomocą klasy dostępne w bibliotekach Javy, np. BigInteger.
Do wykonywania operacji arytmetycznych na nich używamy specjalnych metod:
–add() //dodawanie
–subtract() //odejmowanie
–multiply() //mnożenie
–divide() //dzielenie
–mod() //reszta z dzielenia
–sqrt() //pierwiastek kwadratowy
–compareTo() //porównanie liczb;0-równe;-1,1-mniejsza,większa
–valueOf() //zwraca wielką liczbę o wartości z nawiasu
Klasę BigDecimal używamy odpowiednio dla liczb zmiennoprzecinkowych.
Poniżej prosty przykład zastosowania:
package net.javainfo.basics;
import java.math.BigInteger;
//Przykład zastosowania dużych liczb
public class BigNumber {
public static void main(String[] args){
BigInteger n = new BigInteger("999999999999999999999999999999999999999999999999999999999999999999999");
BigInteger k = n;
System.out.printf("Liczba n: %s%n",n);
System.out.printf("Liczba k: %s%n",n);
n = n.add(BigInteger.valueOf(1));
System.out.printf("Liczba n po dodaniu liczby 1: %s%n",n);
n = n.subtract(BigInteger.valueOf(1));
System.out.printf("Liczba n po odjęciu liczby 1: %s%n",n);
if(n.compareTo(k) == 0)
System.out.println("Liczby n i k są znowu równe.");
}
}
Dodaj komentarz