• Viernes 8 de Noviembre de 2024, 01:41

Autor Tema:  Problema con unreported exception java.io.IOException  (Leído 2306 veces)

Zyteck

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Problema con unreported exception java.io.IOException
« en: Viernes 4 de Diciembre de 2009, 02:56 »
0
Que tal, pues estoy iniciando en esto de la programacion y tengo un problema con un codigo: el problema dice asi:
Los reglamentos de pesca de Saskatchewan imponen un limite a la cantidad total permitida de kilos en un dia de pesca. Supóngase que se planea llevar terminal portátil de computadora en la siguiente salida de pesca y que se necesita un programa que indique cuando se ha excedido dicho limite. Diseñe un algoritmo que primero lea el limite diario en kilos y enseguida lea los valores de entrada, un tras otro(correspondiente a los valores individuales  de las pesas pescadas en el orden que se obtienen) e imprima un mensaje en el momento en que el limite se haya excedido. Un peso de 0 indica el fin de los datos y después de que cada pescado se haya registrado, el algoritmo deberá imprimir el peso total que se lleva hasta ese momento.

y hasta ahora lo que llevo de codigo es esto: y me arroja error aqui: var=entrada.readLine();
Código: Java
  1. import java.util.Scanner;
  2. import java.io.*;
  3.  
  4. public class pesca {
  5.  
  6.     double suma=0, pes1,lim;
  7.     Double pes2 = new Double(0.0);
  8.     String var, CENTINELA="0";
  9.     BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
  10.     Scanner tecla =new Scanner(System.in);
  11.  
  12. void inicio(){
  13.     System.out.println("Para notificar al usuario la cantidad pescada o si a excedido el limite");
  14. }
  15.  
  16. void captura(){
  17.     System.out.println("Ingrese el limite de kilos");
  18.     lim=tecla.nextDouble();
  19.     System.out.println("Ingrese el peso de una presa o '0' para terminar");
  20.     System.out.flush();
  21.     var=entrada.readLine();
  22. }
  23. void calcula(){
  24.     if (suma < lim){
  25.         while(!var.equals(CENTINELA)){
  26.             pes1=pes2.parseDouble(var);
  27.             suma=suma+pes1;
  28.             System.out.println("Ingrese el peso de una presa o '0' para terminar");
  29.             System.out.flush();
  30.             var=entrada.readLine();
  31.         }
  32.     }
  33.     else{
  34.         System.out.println("EL LIMITE DE KILOS A SIDO EXCEDIDO");
  35.     }
  36. }
  37. void resultados(){
  38.     System.out.println("El peso total de la pesca de hoy fue:" +suma+"Kg");
  39. }
  40. public static void main(String[] args)throws IOException{
  41.         pesca p=new pesca();
  42.         int resp='s';
  43.         p.inicio();
  44.          while (resp=='s'||resp=='S'){
  45.              p.captura();
  46.              p.calcula();
  47.              p.resultados();
  48.              System.out.println("Desea reiniciar el programa? s/n:");
  49.              resp=System.in.read();
  50.              System.in.skip(2);
  51.          }
  52. }
  53. }
  54.  


saludos y gracias de antemano por la ayuda

grandzam

  • Miembro MUY activo
  • ***
  • Mensajes: 118
    • Ver Perfil
Re: Problema con unreported exception java.io.IOException
« Respuesta #1 en: Sábado 5 de Diciembre de 2009, 07:45 »
0
Hola, pues vi que estabas usando tanto BufferedReader como el Scanner y bueno, a mi me gusta mas usar Scanner  :P , así que hice una version solo con Scanner, jaja... para eso pues si cambié varias cosillas, incluso la comparación que estaba en el while del main, bueno espero haberte ayudado:

Por cierto, programas bien, te felicito, ah y el codigo si esta identado, pero ps aqui como q lo jode.

Código: Java
  1.  
  2.  
  3. import java.util.Scanner;
  4. import java.io.*;
  5.  
  6. public class pesca {
  7.  
  8.     double suma=0, pes1,lim;
  9.     Double pes2 = new Double(0.0);
  10.     String var, CENTINELA="0";
  11.    
  12.     static Scanner tecla =new Scanner(System.in);
  13.  
  14.    
  15.     void inicio(){
  16.     System.out.println("Para notificar al usuario la cantidad pescada o si a excedido el limite");
  17.     }
  18.  
  19.     void captura(){
  20.     System.out.println("Ingrese el limite de kilos");
  21.     lim=tecla.nextDouble();
  22.     System.out.println("Ingrese el peso de una presa o '0' para terminar");
  23.     System.out.flush();
  24.     var=tecla.next();
  25.     }
  26.  
  27.     void calcula(){
  28.     if (suma < lim){
  29.         while(!var.equals(CENTINELA)){
  30.         pes1=pes2.parseDouble(var);
  31.         suma=suma+pes1;
  32.         System.out.println("Ingrese el peso de una presa o '0' para terminar");
  33.         System.out.flush();
  34.         var=tecla.next();
  35.         }
  36.     }
  37.     else{
  38.         System.out.println("EL LIMITE DE KILOS A SIDO EXCEDIDO");
  39.     }
  40.     }
  41.  
  42.     void resultados(){
  43.     System.out.println("El peso total de la pesca de hoy fue:" +suma+"Kg");
  44.     }
  45.  
  46.     public static void main(String[] args)throws IOException{
  47.         pesca p=new pesca();
  48.        
  49.     String resp="S";
  50.    
  51.         p.inicio();
  52.  
  53.     while (resp.compareTo("S") == 0){
  54.         p.captura();
  55.         p.calcula();
  56.         p.resultados();
  57.         System.out.println("Desea reiniciar el programa? s/n:");
  58.        
  59.         resp=tecla.next().toUpperCase();
  60.     }
  61.     }
  62. }
  63.  
  64.  
  65.  

e-proyect.com