Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    311

    non riesco in nessun modo fare input di 2 numeri con java per sommarli

    con questo programmino, mi restiuisce un errore in "a=br.readLine();"

    // somma numeri
    import java.io.*;

    class MioProgramma
    {
    public static void main(String[] args)
    {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int a,b,c;
    a=br.readLine();
    b=br.readLine();
    c=a+b;
    System.out.println(c);
    }
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: non riesco in nessun modo fare input di 2 numeri con java per sommarli

    Originariamente inviato da enzoiav
    con questo programmino, mi restiuisce un errore in "a=br.readLine();"
    readLine() legge una linea come String .... non int. Se vuoi ottenere un int, devi "parsare" tu la linea per ottenere un int, ad esempio con Integer.parseInt().
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    311
    ho fatto come dicevi:

    // somma numeri
    import java.io.*;

    class MioProgramma
    {
    public static void main(String[] args)
    {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int a,b,c;
    a=Integer.parseInt(br.readLine());
    b=Integer.parseInt(br.readLine());
    c=a+b;
    System.out.println(c);
    }
    }

    ma comunque mi restituisce un errore in "a=Integer.parseInt(br.readLine());"

  4. #4
    Se effettui l'operazione br.readline() devi prevedere delle exception di tipo IOExeception ed inoltre visto che effettui il parse devi inserire anche l'exception di tipo NumberFormatException (sono eccezioni controllate).
    Poi gestire tali eccezioni tramite il blocco try/catch.

    Credo che in questo modo debba funzionare:
    ...
    public static void main(String[] args)
    {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int a=0,b=0,c=0;
    try {
    a=Integer.parseInt(br.readLine());
    b=Integer.parseInt(br.readLine());
    } catch (NumberFormatException e) {e.printStackTrace();}
    catch (IOException e) {e.printStackTrace();}
    c=a+b;
    System.out.println(c);
    }
    ...
    comunque controlla perché non ho provato.
    ciao ciao.
    ------------------------------------
    loro1986
    ------------------------------------

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Il codice va postato indentato all'interno degli appositi tag CODE come spiegato nel punto 6 del Regolamento interno.

    Il codice che hai postato tu non ha alcuna indentazione, quindi non li posso aggiungere io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.