Foros del Web » Programación para mayores de 30 ;) » Java »

errores al final del fichero java

Estas en el tema de errores al final del fichero java en el foro de Java en Foros del Web. Buenas tardes, estoy haciendo un programilla con un menu para elegir las opciones y al compilar me da fallo en el final del fichero. Aqui ...
  #1 (permalink)  
Antiguo 08/10/2013, 11:48
Avatar de temerariomalaga  
Fecha de Ingreso: marzo-2013
Ubicación: Londres
Mensajes: 156
Antigüedad: 11 años, 1 mes
Puntos: 9
errores al final del fichero java

Buenas tardes, estoy haciendo un programilla con un menu para elegir las opciones y al compilar me da fallo en el final del fichero. Aqui dejo el codigo y los errores por si alguien puede echarme una mano. Un saludo.
Código Java:
Ver original
  1. import java.util.Scanner;
  2. public class ejercicio3 {
  3.     public class Hora{
  4.         int hora;
  5.         int minuto;
  6.         int segundo;
  7.         String am;
  8.     //Crear constructores
  9.         Hora();
  10.         Hora(int hora, int minuto, int segundo){
  11.             this.hora=hora;
  12.             this.minuto=minuto;
  13.             this.segundo=segundo;
  14.         }
  15.     //Crear metodos
  16.         //Metodo mostrar hora formato 24h
  17.         public void darHora24(){
  18.             System.out.println(hora, ":", minuto, ":", segundo);
  19.         }
  20.         //Metodo mostrar hora formato 12h
  21.         public void darHora12(){
  22.             if(hora>=13){
  23.                 am="pm";
  24.                 hora=hora-12;
  25.                 System.out.println(hora, am, ":", minuto, ":", segundo);
  26.             }
  27.             if(hora<=12){
  28.                 am="pm";
  29.                 System.out.println(hora, am, ":", minuto, ":", segundo);
  30.             }
  31.         }
  32.         //Metodo poner horas y minutos
  33.         public void ponerHoramin(){
  34.             this.hora=hora;
  35.             this.minuto=minuto;
  36.             this.segundo=0;
  37.         }
  38.         //Metodo poner horas minutos y segundos
  39.         public void ponerHoraseg(){
  40.             this.hora=hora;
  41.             this.minuto=minuto;
  42.             this.segundo=segundo;
  43.         }
  44.         //Funcionamiento del programa
  45.         public static void main(String[] args){
  46.             int hora;
  47.             int minuto;
  48.             int segundo;
  49.             Scanner in = new Scanner(System.in);
  50.             do{
  51.                 System.out.println("Seleccionar una opcion");
  52.                 System.out.println("1. Introducir hora y minutos");
  53.                 System.out.println("2. Introducir hora minutos y segundos");
  54.                 System.out.println("3. Mostrar la hora en formato 24h");
  55.                 System.out.println("4. Mostrar la hora en formato 12h");
  56.                 menu=in.nextInt();
  57.                 switch(menu){
  58.                     case 1:
  59.                         System.out.println("Introduzca hora: ");
  60.                         hora=in.next();
  61.                         System.out.println("Introduzca minutos: ");
  62.                         minuto=in.next();
  63.                         System.out.println(ponerHoramin);
  64.                         break;
  65.                     case 2:
  66.                         System.out.println("Introduzca hora: ");
  67.                         hora=in.next();
  68.                         System.out.println("Introduzca minutos: ");
  69.                         minuto=in.next();
  70.                         System.out.println("Introduzca segundos: ");
  71.                         segundo=in.next();
  72.                         System.out.println(ponerHoraseg);                      
  73.                         break;
  74.                     case 3:
  75.                         System.out.println(darHora24);
  76.                         break;
  77.                     case 4:
  78.                         System.out.println(darHora12);
  79.                         break;
  80.                 }
  81.                 while(menu!=5);
  82.             }
  83.         }
  84.     }
  85. }
Código:
ejercicio3.java:83: error: while expected
                                                }
ejercicio3.java:85: error: illegal star of expression
                                                }
ejercicio3.java:85: error: ')' expected
                                     }
ejercicio3.java:86: error: reached end of file while parsing
}
4 errors
__________________
Málaga Club de Fútbol: Memoria, Compromiso, Fe

Última edición por temerariomalaga; 08/10/2013 a las 11:58
  #2 (permalink)  
Antiguo 08/10/2013, 13:24
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 21 años, 9 meses
Puntos: 361
Respuesta: errores al final del fichero java

hola:

Si no me equivoco te falta cerrar la llave del do ... while.

Saludos.

  #3 (permalink)  
Antiguo 08/10/2013, 13:56
Avatar de Krain  
Fecha de Ingreso: julio-2013
Ubicación: Valencia
Mensajes: 60
Antigüedad: 10 años, 8 meses
Puntos: 1
Respuesta: errores al final del fichero java

Cita:
Código Java:
Ver original
  1. System.out.println(hora, am, ":", minuto, ":", segundo);
En los systems te va a tirar error, para concatenar hay que usar el "+"

Cita:
Código Java:
Ver original
  1. //Metodo poner horas y minutos
  2.     public void ponerHoramin()
  3.     {
  4.         this.hora = hora;
  5.         this.minuto = minuto;
  6.         this.segundo = 0;
  7.     }
  8. //Metodo poner horas minutos y segundos
  9.     public void ponerHoraseg()
  10.     {
  11.         this.hora = hora;
  12.         this.minuto = minuto;
  13.         this.segundo = segundo;
  14.     }
Los métodos ponerHoramin y ponerHoraseg no se muy bien para que los usas.

Cita:
Código Java:
Ver original
  1. public static void main(String[] args){
  2.     int hora;
  3.     int minuto;
  4.     int segundo;
  5.     Scanner in = new Scanner(System.in);
  6.     do{
  7.         System.out.println("Seleccionar una opcion");
  8.         System.out.println("1. Introducir hora y minutos");
  9.         System.out.println("2. Introducir hora minutos y segundos");
  10.         System.out.println("3. Mostrar la hora en formato 24h");
  11.         System.out.println("4. Mostrar la hora en formato 12h");
  12.         menu=in.nextInt();
  13.         switch(menu){
En el main tienes que declarar la variable menu.

Cita:
Código Java:
Ver original
  1. case 1:
  2.     System.out.println("Introduzca hora: ");
  3.     hora=in.next();
  4.     System.out.println("Introduzca minutos: ");
  5.     minuto=in.next();
  6.     System.out.println(ponerHoramin);
  7.     break;
  8. case 2:
  9.     System.out.println("Introduzca hora: ");
  10.     hora=in.next();
  11.     System.out.println("Introduzca minutos: ");
  12.     minuto=in.next();
  13.     System.out.println("Introduzca segundos: ");
  14.     segundo=in.next();
  15.     System.out.println(ponerHoraseg);                      
  16.     break;
Para leer desde el scanner los int tienes que usar el nombreDelScanner.nextInt();

Cita:
Código Java:
Ver original
  1. System.out.println(ponerHoramin);
Aqué te tirará error porque no existe el metodo.
Tienes que hacerlo static o crear un nuevo objeto en el main pasandole los parámetros.
Código Java:
Ver original
  1. int hora;  
  2. int minuto;
  3. int segundo;
  4. int menu;
  5. Hora e = new Hora(5,3,40);
  6. Scanner in = new Scanner(System.in);
  7. ....
  8.  
  9. case 1:
  10.     System.out.println("Introduzca hora: ");
  11.     hora = in.nextInt();
  12.     System.out.println("Introduzca minutos: ");
  13.     minuto = in.nextInt();
  14.     e.ponerHoramin();
  15.     break;
  16. case 2:
  17.     System.out.println("Introduzca hora: ");
  18.     hora = in.nextInt();
  19.     System.out.println("Introduzca minutos: ");
  20.     minuto=in.nextInt();
  21.     System.out.println("Introduzca segundos: ");
  22.     segundo=in.nextInt();
  23.     e.ponerHoraseg();                      
  24.     break;
  25. case 3:
  26.     e.darHora24();
  27.     break;
  28. case 4:
  29.     e.darHora12();
  30.     break;

Cita:
Código Java:
Ver original
  1. while(menu!=5);
  2.             }
No es que te falten "}" creo puede que también, lo que pasa es que el while va despues de cerrar el do.

Espero haberte ayudado.
Saludos.
__________________
01001011 01110010 01100001 01101001 01101110
  #4 (permalink)  
Antiguo 08/10/2013, 15:15
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 21 años, 9 meses
Puntos: 361
Mensaje Respuesta: errores al final del fichero java

Hola:

Cita:
Iniciado por Krain Ver Mensaje
No es que te falten "}" creo puede que también, lo que pasa es que el while va despues de cerrar el do.
Justamente, va después porque no es un while sino un do ... while, cuya sintaxis es:

Código Java:
Ver original
  1. do {
  2.     ...
  3.     instrucciones;
  4.     ...
  5. } while (condicion);

Saludos.


Etiquetas: errores, fichero, final, metodo, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:34.