Java duda sobre un proyecto realizado(solucionado)

Iniciado por Senior++, 30 Abril 2012, 22:00 PM

0 Miembros y 1 Visitante están viendo este tema.

Senior++

Bueno este proyecto no me da error error pero hace algo que no quiero es este:

import java.util.*;

class Reloj{

public static void main(String[]arguments){
//Obtener fecha y hora actual
   
   Calendar ahora = Calendar.getInstance();
   int hora =ahora.get(Calendar.HOUR_OF_DAY);
   int minuto = ahora.get(Calendar.MINUTE);
   int mes  = ahora.get(Calendar.MONTH) + 1;
   int dia = ahora.get(Calendar.DAY_OF_MONTH);
   int an = ahora.get(Calendar.YEAR);


if (hora<12){
   
   System.out.println("Buenos días.\n");
   
}else if (hora < 17) {
   System.out.println("Buenas tardes.\n");
}else {
System.out.println("Buenas noches.\n)");

}
//Iniciar el mensaje horario mosntrando las horas

System.out.print("Son las");
System.out.print (" ");
System.out.print((hora>12)? (hora -12):hora);
System.out.println(" horas ");

if (minuto !=0){
   System.out.print(minuto+" ");
   System.out.print (( minuto!= 1) ? "minutos ":
   "minuto ");
}

  //Mostrar día
   System.out.println("del día "+dia+" de ");
   //Mostrar el nombre del mes
   
 switch (mes){
     
     case 1:
      System.out.print("Enero");
         
case 2:
      System.out.print("Febrero");
   
   case 3:
      System.out.print("Marzo");
       
       case 4:
      System.out.print("Abril");
           
       case 5:
      System.out.print("Mayo");
               
               case 6:
      System.out.print("Junio");
                   
                   case 7:
      System.out.print("Julio");
                       
                       case 8:
      System.out.print("Agosto");
                           
                           case 9:
      System.out.print("Septiembre");
                               
                               case 10:
      System.out.print("Octubre");
                                   
                               case 11:
      System.out.print("Noviembre");
                                       
                                       case 12:
      System.out.print("Diciembre");
                                           
                                          // Mostrar año
                                                   
         System.out.println( " de"+an+".");                      
 }

}


}



Y esto es lo que hace el programa:

run:
Buenas noches.
)
Son las 9 horas
56 minutos del día 30 de
AbrilMayoJunioJulioAgostoSeptiembreOctubreNoviembreDiciembre de2012.
BUILD SUCCESSFUL (total time: 0 seconds)

Yo quiero que me lo muestre así:
run:
Buenas noches.
)
Son las 9 horas
56 minutos del día 30 de
Abril de 2012
BUILD SUCCESSFUL (total time: 0 seconds)

Saludos,echarme una manita ;-)
Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata

_teiki

 Olvidaste poner break en cada expresión del switch.

Asi quedaría:

Código (java) [Seleccionar]

import java.util.*;

class Reloj{

public static void main(String[]arguments){
//Obtener fecha y hora actual
   
    Calendar ahora = Calendar.getInstance();
    int hora =ahora.get(Calendar.HOUR_OF_DAY);
    int minuto = ahora.get(Calendar.MINUTE);
    int mes  = ahora.get(Calendar.MONTH) + 1;
    int dia = ahora.get(Calendar.DAY_OF_MONTH);
    int an = ahora.get(Calendar.YEAR);


if (hora<12){
   
    System.out.println("Buenos días.\n");
   
}else if (hora < 17) {
    System.out.println("Buenas tardes.\n");
}else {
System.out.println("Buenas noches.\n)");

}
//Iniciar el mensaje horario mosntrando las horas

System.out.print("Son las");
System.out.print (" ");
System.out.print((hora>12)? (hora -12):hora);
System.out.println(" horas ");

if (minuto !=0){
    System.out.print(minuto+" ");
    System.out.print (( minuto!= 1) ? "minutos ":
    "minuto ");
}

   //Mostrar día
    System.out.println("del día "+dia+" de ");
    //Mostrar el nombre del mes
   
  switch (mes){
     
      case 1:
       System.out.print("Enero");
       break;
         
case 2:
       System.out.print("Febrero");
       break;
   
    case 3:
       System.out.print("Marzo");
       break;
       
        case 4:
       System.out.print("Abril");
       break;
           
        case 5:
       System.out.print("Mayo");
       break;
               
                case 6:
       System.out.print("Junio");
       break;
                   
                    case 7:
       System.out.print("Julio");
       break;
                       
                        case 8:
       System.out.print("Agosto");
       break;
                           
                            case 9:
       System.out.print("Septiembre");
       break;
                               
                                case 10:
       System.out.print("Octubre");
       break;
                                   
                                case 11:
       System.out.print("Noviembre");
       break;
                                       
                                        case 12:
       System.out.print("Diciembre");
       break;
                                           
                                           // Mostrar año
     }                                               
          System.out.println( " de"+an+".");                       
 

}


}

Senior++

Wow,  se me paso eso... :xD

Saludos y gracias
Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata