Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Senior++ en 30 Abril 2012, 22:00 pm



Título: Java duda sobre un proyecto realizado(solucionado)
Publicado por: Senior++ en 30 Abril 2012, 22:00 pm
Bueno este proyecto no me da error error pero hace algo que no quiero es este:

Código:
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 ;-)


Título: Re: Java duda sobre un proyecto realizado
Publicado por: _teiki en 30 Abril 2012, 23:11 pm
 Olvidaste poner break en cada expresión del switch.

Asi quedaría:

Código
  1. import java.util.*;
  2.  
  3. class Reloj{
  4.  
  5. public static void main(String[]arguments){
  6. //Obtener fecha y hora actual
  7.  
  8.    Calendar ahora = Calendar.getInstance();
  9.    int hora =ahora.get(Calendar.HOUR_OF_DAY);
  10.    int minuto = ahora.get(Calendar.MINUTE);
  11.    int mes  = ahora.get(Calendar.MONTH) + 1;
  12.    int dia = ahora.get(Calendar.DAY_OF_MONTH);
  13.    int an = ahora.get(Calendar.YEAR);
  14.  
  15.  
  16. if (hora<12){
  17.  
  18.    System.out.println("Buenos d&#237;as.\n");
  19.  
  20. }else if (hora < 17) {
  21.    System.out.println("Buenas tardes.\n");
  22. }else {
  23. System.out.println("Buenas noches.\n)");
  24.  
  25. }
  26. //Iniciar el mensaje horario mosntrando las horas
  27.  
  28. System.out.print("Son las");
  29. System.out.print (" ");
  30. System.out.print((hora>12)? (hora -12):hora);
  31. System.out.println(" horas ");
  32.  
  33. if (minuto !=0){
  34.    System.out.print(minuto+" ");
  35.    System.out.print (( minuto!= 1) ? "minutos ":
  36.    "minuto ");
  37. }
  38.  
  39.   //Mostrar d&#237;a
  40.    System.out.println("del d&#237;a "+dia+" de ");
  41.    //Mostrar el nombre del mes
  42.  
  43.  switch (mes){
  44.  
  45.      case 1:
  46.       System.out.print("Enero");
  47.       break;
  48.  
  49. case 2:
  50.       System.out.print("Febrero");
  51.       break;
  52.  
  53.    case 3:
  54.       System.out.print("Marzo");
  55.       break;
  56.  
  57.        case 4:
  58.       System.out.print("Abril");
  59.       break;
  60.  
  61.        case 5:
  62.       System.out.print("Mayo");
  63.       break;
  64.  
  65.                case 6:
  66.       System.out.print("Junio");
  67.       break;
  68.  
  69.                    case 7:
  70.       System.out.print("Julio");
  71.       break;
  72.  
  73.                        case 8:
  74.       System.out.print("Agosto");
  75.       break;
  76.  
  77.                            case 9:
  78.       System.out.print("Septiembre");
  79.       break;
  80.  
  81.                                case 10:
  82.       System.out.print("Octubre");
  83.       break;
  84.  
  85.                                case 11:
  86.       System.out.print("Noviembre");
  87.       break;
  88.  
  89.                                        case 12:
  90.       System.out.print("Diciembre");
  91.       break;
  92.  
  93.                                           // Mostrar a&#241;o
  94.     }                                                
  95.          System.out.println( " de"+an+".");                      
  96.  
  97.  
  98. }
  99.  
  100.  
  101. }
  102.  


Título: Re: Java duda sobre un proyecto realizado
Publicado por: Senior++ en 1 Mayo 2012, 09:47 am
Wow,  se me paso eso... :xD

Saludos y gracias