Új hozzászólás Aktív témák

  • birno

    addikt

    Elkezdtem a progit, de van egy erdekesseg amit nem ertek, adott az alabbi kodreszlet:

    public int readInt() {
    int szam = 0;
    BufferedReader is = new BufferedReader(new InputStreamReader(System.in));

    try{
    do{
    try{
    szam = Integer.parseInt(is.readLine());
    break;
    }catch (NumberFormatException e){
    System.err.println("Kérem csak egész számot adjon meg!");
    };
    }while(true);

    is.close();
    }catch (IOException ex){
    System.err.println("Nem olvasható a bemenet!");
    }

    return szam;
    }

    public int kvizValasztas() {
    int sorszam = 0;

    do{
    sorszam = this.readInt();
    if(sorszam > this.elerhetoKvizek.length || sorszam <= 0 ){
    System.out.println("Hibás számot adott meg, kérem adja meg újra: ");
    }else{
    break;
    }

    }while(true);

    return sorszam;
    }

    Hibas bemenet eseten mikor masodjara megy bele a readInt() fuggvenybe, akkor ahelyett, hogy bekerne a szamot belefut a catch agba, miszerint IOException van.
    Ha kiveszem az is.Close(); sort, akkor minden ok, de nem ertem, hogy miert, mindig egy uj BufferedReader-t inicializalok, nem a mar korabban lezartbol olvasnek. :F

Új hozzászólás Aktív témák