Una mano por favor en Java

dr popo

Bovino maduro
#1
import java.io.*;
public class Chompi
{
public static void main(String[] args) throws IOException
{char precio;

BufferedReader teclado = new BufferedReader (new InputStreamReader(System.in));
int km=0,z=0;

System.out.println("\nMENU DE VEHICULOS SELECCIONA UNO\n\n");

System.out.println("\n1. BICICLETA\n\n");
System.out.println("\n2. MOTOCICLETA\n\n");
System.out.println("\n3. AUTOMOVIL\n\n");
System.out.println("\n4. CAMION\n\n");
System.out.println("\n5. TRAILER\n\n");


precio = (char)System.in.read();

switch (precio){

case '1' : System.out.println("\nPon los kilometros\n");

km = Integer.parseInt(teclado.readLine());

z=km*20;

System.out.println("Paga"+z");break


case '2' : System.out.println("\nPagar $5 x km\n"); break;

case '3' : System.out.println("\nPagar $10 x km\n"); break;

case '4' : System.out.println("\nPagar $15 x km\n"); break;

case '5' : System.out.println("\nPagar $20 x km\n"); break;


default: System.out.println("\nOPCION ERRONEA\n");

}






System.out.println("\n*** F I N D E L P R O G R A M A ***\n");

}
}



No me compila bien me marca error segun esta bien todo comas parentesis y asi siento que solo falta poco pero aun no le veo bien como ven ustedes bakunos no me podrian echar la mano ya con el primero yo le seguiria a los demas casos

lo estoy haciendo con el jcreator v3.50

gracias bakunos

saludos
 

dr popo

Bovino maduro
#3
En el Break del case 1 te falta un ; (punto y coma)
gracias bakuno quedo asi

System.out.println("Paga"+z);break;

ya con eso ya compila pero ahora me sale este error

Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:497)
at Chompi.main(Chompi.java:25)

Process complete
 

RyukInside

Bovino maduro
#4
Sale ese error al ingresar un "1".

Una solución sería primero:
Agrega esta línea al inicio, es una nueva librería.
import java.util.Scanner;
Cambia tu case 1 por esto:
Scanner lectura= new Scanner(System.in); System.out.println("\nPon los kilometros\n");
km=lectura.nextInt();
z = km * 20;
System.out.println("Paga " + z);
No olvides el "Break;" después.
Y borra la línea
BufferedReader teclado = new BufferedReader (new InputStreamReader(System.in));
Ya que no se usaría para nada.

Es una solución mía, usando librerías distintas.
 

dr popo

Bovino maduro
#5
Sale ese error al ingresar un "1".

Una solución sería primero:
Agrega esta línea al inicio, es una nueva librería.


Cambia tu case 1 por esto:


No olvides el "Break;" después.
Y borra la línea




Ya que no se usaría para nada.

Es una solución mía, usando librerías distintas.



muchas gracias bakuno lo que hice es que enves de preguntar cuantos km por cada caso lo hice primero antes de desplegar que vehiculo
 
#6
hola dr popo no se si me prodrias hechar la mano con tu programa ese me resulto interesante para checarlo me gusta ver cosas q hacen no se ando biendo lo de java y eso pero ocupo mirar algo motivante y tu programa me llamo la antencion espero q me lo puedas pasar ya compilado solo para correrlo bueno seria un agradecimiento
 
#7
Solucion

import java.io.*;
public class Chompi
{
public static void main(String[] args) throws IOException
{char precio;

BufferedReader teclado = new BufferedReader (new InputStreamReader(System.in));
int km=0,z=0;

System.out.println("\nMENU DE VEHICULOS SELECCIONA UNO\n\n");

System.out.println("\n1. BICICLETA\n\n");
System.out.println("\n2. MOTOCICLETA\n\n");
System.out.println("\n3. AUTOMOVIL\n\n");
System.out.println("\n4. CAMION\n\n");
System.out.println("\n5. TRAILER\n\n");


precio = (char)System.in.read();

switch (precio){

case '1' : System.out.println("\nPon los kilometros\n");

km = Integer.parseInt(teclado.readLine());

z=km*20;

System.out.println("Paga"+z");break


case '2' : System.out.println("\nPagar $5 x km\n"); break;

case '3' : System.out.println("\nPagar $10 x km\n"); break;

case '4' : System.out.println("\nPagar $15 x km\n"); break;

case '5' : System.out.println("\nPagar $20 x km\n"); break;


default: System.out.println("\nOPCION ERRONEA\n");

}






System.out.println("\n*** F I N D E L P R O G R A M A ***\n");

}
}



No me compila bien me marca error segun esta bien todo comas parentesis y asi siento que solo falta poco pero aun no le veo bien como ven ustedes bakunos no me podrian echar la mano ya con el primero yo le seguiria a los demas casos

lo estoy haciendo con el jcreator v3.50

gracias bakunos

saludos




--------------------------------------------------------------
bueno tu primer problema es esto:

System.out.println("Paga"+z");break //no cierras el break con ";" y te sobra 1 comilla doble

lo segundo es el echo de que utilizas :

precio = (char)System.in.read(); /*en esta parte el programa no deja de leer la entrada es por eso por eso te manda los errores de compilación*/
/*Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:493)
at java.lang.Integer.parseInt(Integer.java:514)
at Chompi.main(Chompi.java:20)*/

para esto te aconsejo utilizar sin modificar mucho tu código lo siguiente


"precio =teclado.readLine().charAt(0);" //esto es al capturar el carácter para entrar al switch
 
Arriba