Programación General > Java
Problema con unreported exception java.io.IOException
(1/1)
Zyteck:
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 ---import java.util.Scanner;import java.io.*; public class pesca { double suma=0, pes1,lim; Double pes2 = new Double(0.0); String var, CENTINELA="0"; BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in)); Scanner tecla =new Scanner(System.in); void inicio(){ System.out.println("Para notificar al usuario la cantidad pescada o si a excedido el limite");} void captura(){ System.out.println("Ingrese el limite de kilos"); lim=tecla.nextDouble(); System.out.println("Ingrese el peso de una presa o '0' para terminar"); System.out.flush(); var=entrada.readLine();}void calcula(){ if (suma < lim){ while(!var.equals(CENTINELA)){ pes1=pes2.parseDouble(var); suma=suma+pes1; System.out.println("Ingrese el peso de una presa o '0' para terminar"); System.out.flush(); var=entrada.readLine(); } } else{ System.out.println("EL LIMITE DE KILOS A SIDO EXCEDIDO"); }}void resultados(){ System.out.println("El peso total de la pesca de hoy fue:" +suma+"Kg");}public static void main(String[] args)throws IOException{ pesca p=new pesca(); int resp='s'; p.inicio(); while (resp=='s'||resp=='S'){ p.captura(); p.calcula(); p.resultados(); System.out.println("Desea reiniciar el programa? s/n:"); resp=System.in.read(); System.in.skip(2); }}}
saludos y gracias de antemano por la ayuda
grandzam:
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 --- import java.util.Scanner;import java.io.*; public class pesca { double suma=0, pes1,lim; Double pes2 = new Double(0.0); String var, CENTINELA="0"; static Scanner tecla =new Scanner(System.in); void inicio(){ System.out.println("Para notificar al usuario la cantidad pescada o si a excedido el limite"); } void captura(){ System.out.println("Ingrese el limite de kilos"); lim=tecla.nextDouble(); System.out.println("Ingrese el peso de una presa o '0' para terminar"); System.out.flush(); var=tecla.next(); } void calcula(){ if (suma < lim){ while(!var.equals(CENTINELA)){ pes1=pes2.parseDouble(var); suma=suma+pes1; System.out.println("Ingrese el peso de una presa o '0' para terminar"); System.out.flush(); var=tecla.next(); } } else{ System.out.println("EL LIMITE DE KILOS A SIDO EXCEDIDO"); } } void resultados(){ System.out.println("El peso total de la pesca de hoy fue:" +suma+"Kg"); } public static void main(String[] args)throws IOException{ pesca p=new pesca(); String resp="S"; p.inicio(); while (resp.compareTo("S") == 0){ p.captura(); p.calcula(); p.resultados(); System.out.println("Desea reiniciar el programa? s/n:"); resp=tecla.next().toUpperCase(); } }}
e-proyect.com
Navegación
Ir a la versión completa