Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    3

    problemi con BigInteger

    ciao a tutti,
    sto facendo un programma che necessita l'uso di numeri molto grandi, ho trovato la classe BigInteger ma mi da un problema.
    posto il programma e l'errore che mi da se qualcuno potesse aiutarmi ne sarei felice.

    grazie

    chiara

    programma:

    import java.io.InputStreamReader;
    import java.io.BufferedReader ;
    import java.io.IOException;
    import java.math.BigInteger;



    public class Prova
    {
    public static void main(String args[])
    {
    //dichiarazione variabili
    int keyVInt;
    int bitInt;
    int appInt;
    int chiaveInt=0;
    int messaggioInt;
    int moduloInt;

    //richiesta e inserimento chiave
    System.out.println("Inserire la chiave:");
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    try
    {
    chiaveInt = Integer.parseInt(reader.readLine());
    }
    catch (NumberFormatException e)
    {
    System.err.println("Numero non valido");
    }
    catch (IOException e)
    {
    System.err.println("Errore di IO");
    }
    BigInteger chiave = new BigInteger (chiaveInt);

    //richiesta e inserimento modulo
    System.out.println("Inserire il modulo:");
    BufferedReader reader2 = new BufferedReader(new InputStreamReader(System.in));
    try
    {
    moduloInt = Integer.parseInt(reader2.readLine());
    }
    catch (NumberFormatException e)
    {
    System.err.println("Numero non valido");
    }
    catch (IOException e)
    {
    System.err.println("Errore di IO");
    }
    BigInteger modulo = new BigInteger (moduloInt);

    //richiesta e inserimento messaggio
    System.out.println("Inserire il messaggio:");
    BufferedReader reader3 = new BufferedReader(new InputStreamReader(System.in));
    try
    {
    messaggioInt = Integer.parseInt(reader3.readLine());
    }
    catch (NumberFormatException e)
    {
    System.err.println("Numero non valido");
    }
    catch (IOException e)
    {
    System.err.println("Errore di IO");
    }
    BigInteger messaggio = new BigInteger (messaggioInt);
    }
    }

    errore:
    Prova.java:36: BigInteger(long) has private access in java.math.BigInteger
    BigInteger chiave = new BigInteger (chiaveInt);

    Naturalmente lo stesso errore viene ripetuto anche per le 2 altre assegnazioni BigInteger.

    grazie ancora

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Scusa, ma

    http://java.sun.com/javase/6/docs/ap...igInteger.html

    vedi il costruttore che stai cercando di usare?

    Ti consiglierei di usarne uno di valido, magari quello che vuole una stringa:

    BigInteger(String val)
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    3
    Grazie per il suggerimento, ho corretto l'errore e modificato tutte le istruzioni in modo da utilizzare i metodi della classe BigInteger ed ora lo compila. Però durante l'esecuzione mi lascia inserire i dati e poi mi dà il seguente errore:
    Exception in thread "main" java.lang.NumberFormatException: Zero lenght BigInteger
    at java.math.BigInteger <init>(Unknow Source)
    at java.math.BigInteger <init>(Unknow Source)
    at Prova.main(Prova.java:70)
    Che significa?

    Grazie Chiara

  4. #4
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Non ho mai lavorato con i BigInteger e non ho neppure letto la documentazione che ti ho indicato.. e non ho nemmeno voglia di contare le righe (a parte il fatto che non ho il tuo codice modificato).. mamma mia quanto sono scansafatiche..

    Però mi sembra di capire che il problema sorge nel momento in cui crei il BigInteger passando una stringa. Sei sicura che queta stringa abbia un valore valido?
    Prova a stapare il contenuto di queta presunta stringa prima della riga che da errore.

    Se non ne ho azzeccata una, posta di nuovo il codice indicando la riga che da errore.

    Ciao!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    3
    Risolto anche questo problema, sbagliavo la dichiarazione di una variabile. Ora è tutto a posto. Ti ringrazio per i consigli e spero che mi aiuterai di nuovo se ne avrò bisogno.

    ciao
    Chiara

  6. #6
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Beh.. la cosa è possibile... però ricordarti che se qualcosa non funziona è sempre meglio se posti il codice che da problemi.

    Ciao!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.