Esercizi su BigInteger e BigDecimal in Java
- Esercizio 1: Creazione di BigInteger
- Esercizio 2: Operazioni Aritmetiche con BigInteger
- Esercizio 3: Creazione di BigDecimal
- Esercizio 4: Operazioni Aritmetiche con BigDecimal
- Esercizio 5: Confronto tra BigInteger
- Esercizio 6: Confronto tra BigDecimal
- Esercizio 7: Calcolo del Fattoriale con BigInteger
- Esercizio 8: Calcolo di Potenze con BigDecimal
- Esercizio 9: Calcolo di Radici con BigDecimal
- Esercizio 10: Conversione tra BigInteger e BigDecimal
Ecco degli esercizi con soluzione per praticare l’uso delle classi BigInteger
e BigDecimal
in Java.
Esercizio 1: Creazione di BigInteger
Creare un oggetto `BigInteger` e stamparne il valore.
import java.math.BigInteger;
public class EsempioBigInteger { public static void main(String[] args) { BigInteger bigInt = new BigInteger("123456789012345678901234567890"); System.out.println("BigInteger: " + bigInt); }}
Esercizio 2: Operazioni Aritmetiche con BigInteger
Eseguire addizione, sottrazione, moltiplicazione e divisione con `BigInteger`.
import java.math.BigInteger;
public class OperazioniBigInteger { public static void main(String[] args) { BigInteger a = new BigInteger("12345678901234567890"); BigInteger b = new BigInteger("98765432109876543210");
BigInteger somma = a.add(b); BigInteger differenza = a.subtract(b); BigInteger prodotto = a.multiply(b); BigInteger quoziente = a.divide(b);
System.out.println("Somma: " + somma); System.out.println("Differenza: " + differenza); System.out.println("Prodotto: " + prodotto); System.out.println("Quoziente: " + quoziente); }}
Esercizio 3: Creazione di BigDecimal
Creare un oggetto `BigDecimal` e stamparne il valore.
import java.math.BigDecimal;
public class EsempioBigDecimal { public static void main(String[] args) { BigDecimal bigDec = new BigDecimal("12345.6789012345678901234567890"); System.out.println("BigDecimal: " + bigDec); }}
Esercizio 4: Operazioni Aritmetiche con BigDecimal
Eseguire addizione, sottrazione, moltiplicazione e divisione con `BigDecimal`.
import java.math.BigDecimal;
public class OperazioniBigDecimal { public static void main(String[] args) { BigDecimal a = new BigDecimal("12345.6789"); BigDecimal b = new BigDecimal("98765.4321");
BigDecimal somma = a.add(b); BigDecimal differenza = a.subtract(b); BigDecimal prodotto = a.multiply(b); BigDecimal quoziente = a.divide(b, BigDecimal.ROUND_HALF_UP);
System.out.println("Somma: " + somma); System.out.println("Differenza: " + differenza); System.out.println("Prodotto: " + prodotto); System.out.println("Quoziente: " + quoziente); }}
Esercizio 5: Confronto tra BigInteger
Confrontare due oggetti `BigInteger` utilizzando i metodi `compareTo` e `equals`.
import java.math.BigInteger;
public class ConfrontoBigInteger { public static void main(String[] args) { BigInteger a = new BigInteger("12345678901234567890"); BigInteger b = new BigInteger("12345678901234567890"); BigInteger c = new BigInteger("98765432109876543210");
System.out.println("a equals b: " + a.equals(b)); System.out.println("a compareTo b: " + a.compareTo(b)); System.out.println("a compareTo c: " + a.compareTo(c)); }}
Esercizio 6: Confronto tra BigDecimal
Confrontare due oggetti `BigDecimal` utilizzando i metodi `compareTo` e `equals`.
import java.math.BigDecimal;
public class ConfrontoBigDecimal { public static void main(String[] args) { BigDecimal a = new BigDecimal("12345.6789"); BigDecimal b = new BigDecimal("12345.6789"); BigDecimal c = new BigDecimal("98765.4321");
System.out.println("a equals b: " + a.equals(b)); System.out.println("a compareTo b: " + a.compareTo(b)); System.out.println("a compareTo c: " + a.compareTo(c)); }}
Esercizio 7: Calcolo del Fattoriale con BigInteger
Calcolare il fattoriale di un numero grande utilizzando `BigInteger`.
import java.math.BigInteger;
public class FattorialeBigInteger { public static void main(String[] args) { int n = 50; // Numero di cui calcolare il fattoriale BigInteger fattoriale = BigInteger.ONE;
for (int i = 2; i <= n; i++) { fattoriale = fattoriale.multiply(BigInteger.valueOf(i)); }
System.out.println("Fattoriale di " + n + " è: " + fattoriale); }}
Esercizio 8: Calcolo di Potenze con BigDecimal
Calcolare la potenza di un numero utilizzando `BigDecimal`.
import java.math.BigDecimal;import java.math.MathContext;
public class PotenzaBigDecimal { public static void main(String[] args) { BigDecimal base = new BigDecimal("2.5"); int esponente = 3; BigDecimal potenza = base.pow(esponente, MathContext.DECIMAL64);
System.out.println(base + " elevato alla potenza di " + esponente + " è: " + potenza); }}
Esercizio 9: Calcolo di Radici con BigDecimal
Calcolare la radice quadrata di un numero utilizzando `BigDecimal`.
import java.math.BigDecimal;import java.math.MathContext;
public class RadiceBigDecimal { public static void main(String[] args) { BigDecimal numero = new BigDecimal("25.0"); BigDecimal radice = sqrt(numero, MathContext.DECIMAL64);
System.out.println("Radice quadrata di " + numero + " è: " + radice); }
public static BigDecimal sqrt(BigDecimal value, MathContext mc) { BigDecimal x0 = new BigDecimal(0); BigDecimal x1 = new BigDecimal(Math.sqrt(value.doubleValue())); while (!x0.equals(x1)) { x0 = x1; x1 = value.divide(x0, mc).add(x0).divide(BigDecimal.valueOf(2), mc); } return x1; }}
Esercizio 10: Conversione tra BigInteger e BigDecimal
Convertire un oggetto `BigInteger` in `BigDecimal` e viceversa.
import java.math.BigInteger;import java.math.BigDecimal;
public class ConversioneBigIntegerBigDecimal { public static void main(String[] args) { BigInteger bigInt = new BigInteger("12345678901234567890"); BigDecimal bigDec = new BigDecimal(bigInt); System.out.println("BigDecimal da BigInteger: " + bigDec);
BigDecimal bigDec2 = new BigDecimal("12345.6789"); BigInteger bigInt2 = bigDec2.toBigInteger(); System.out.println("BigInteger da BigDecimal: " + bigInt2); }}