learn Java SE try catch, BufferedReader, InputStreamReader

ecco un programma java se, che calcola il perimetro di un rettangolo, leggendo i valori da consola e verificando che questi siano corretti, manipolando il  try cath per le eccezioni.

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

/**
 *
 */

/**
 * @author Carmen Vargas
 * marzo 2012 – onzeonze@live.it
 */
class PerimetroRettangolo {
 static final String LABEL1=”BASE “;
 static final String LABEL2=”ALTEZZA “;
 static final String LABEL3=” del rettangolo (int): “;
 static final String LABEL4=”IO error … chiusura “;
 static final String LABEL5=” Erore di formatto … deve essere un numero “;
 static final String LABEL6=” il valore non pùo essere negativo: “;
 public static void main (String[] args){
  int base = 0;
  int altezza = 0;
  String myStr = new String();
  BufferedReader myInput = new BufferedReader(new InputStreamReader(System.in));
  boolean numNegativo = true;
  base=verificaValori(myInput, myStr, numNegativo,LABEL1 + LABEL3, LABEL4, LABEL5, LABEL6);
     numNegativo = true;
     altezza=verificaValori(myInput, myStr, numNegativo,LABEL2 + LABEL3, LABEL4, LABEL5, LABEL6);
     int perimetro = 2*(base+altezza);
  System.out.println(LABEL1+ base + “/ “+ LABEL2+ altezza + “/ PERIMETRO ” + perimetro);
}

public static int verificaValori(BufferedReader myInput, String myStr,
    boolean numNegativo, String inpuText, String ioError, String formaError,
    String valorNoNeg) {

   int valore=0;
   while (numNegativo) {
    System.out.print(inpuText);
    try {
     myStr =myInput.readLine();
    } catch (IOException ioe){
     System.out.println(ioError + ioe.getMessage());
     System.exit(-1);
    }
    try {
     valore = Integer.parseInt(myStr); 
    } catch (NumberFormatException nfe){
     System.out.println(String.format(formaError + nfe.getMessage()));
     System.exit(-1);
    }
    if (valore > 0){
     numNegativo = false;
    }else{
     System.out.println(valorNoNeg); 
    }
   }
   return valore;
  }
 }

vargas,  java SE sviluppo programma, throws, try catch, throw,  BufferedReader, InputStreamReader

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: