Funcion en Java para calcular las estaciones del año segun el mes

Publicado en 'Programación' por xavi116, 15 Set 2013.





  1. xavi116

    xavi116 Miembro de bronce

    Registro:
    4 Mar 2010
    Mensajes:
    2,097
    Likes:
    463




    Hola, tengo un problema, estoy creando una funcion en java para que me calcule la estacion del año dependiendo del mes, la primera funcion es ingresar un numero y me muestre el mes que corresponde, eso ya lo hize

    el problema esta a la hora de crear la funcion para que calcule la estacion
    PD: puedo hacerlo comparando los datos del tipo numero pero yo quiero hacerlo comparando el nombre de los meses por ejemplo "Abril"

    Esta es mi funcion , remplaze mes=="Enero" por mes.equals("Enero") porque me marcaba un error con el tipo de dato, quiero saber como se compara datos del tipo texto en java

    String calc_est(String mes)
    {
    if (mes.equals("Enero") && (mes.equals("Febrero")) && (mes.equals("Marzo")))
    return "Verano";
    else if (mes.equals("Abril") && (mes.equals("Mayo")) && (mes.equals("Junio")))
    return "Otoño";
    else if (mes.equals("Julio") && (mes.equals("Agosto")) && (mes.equals("Septiembre")))
    return "Invieno";
    else if (mes.equals("Octubre") && (mes.equals("Noviembre")) && (mes.equals("Diciembre")))
    return "Primavera";
    else
    return "";
    }

    me respondo yo mismo, el error era los operadores que uso para comparar xDD :biggrin:

    solo reemplaze el "&&" por el "||" y funciono :biggrin:



    String calc_est(String mes)
    {
    if (mes.equals("Enero") || (mes.equals("Febrero")) || (mes.equals("Marzo")))
    return "Verano";
    else if (mes.equals("Abril") || (mes.equals("Mayo")) || (mes.equals("Junio")))
    return "Otoño";
    else if (mes.equals("Julio") || (mes.equals("Agosto")) || (mes.equals("Septiembre")))
    return "Invieno";
    else
    return "Primavera";
    }
     
    A deimos le gustó este mensaje.


  2. dark484

    dark484 Miembro frecuente

    Registro:
    22 Ago 2010
    Mensajes:
    114
    Likes:
    13
    Si lo deseas también podrías hacer uso del Switch para hacer tu codigo un poco mas ordenado:
    Código:
    String calc_est(String mes){
    	switch(mes) {
    	    case "Enero":
    	    case "Febrero":
    	    case "Marzo":
    	        return "Verano";
    	        break;
    	    case "Abril":
    	    case "Mayo":
    	    case "Junio":
    	        return "Otoño";
    	        break;
    	    case "Julio":
    	    case "Agosto":
    	    case "Septiembre":
    	        return "Invierno";
    	        break;
    	    case "Octubre":
    	    case "Noviembre":
    	    case "Diciembre":
    	        return "Primavera";
    	        break; 
    	    default:
    	    	return "";
    	    	break;       
    	}
    }
     
    Última edición: 15 Set 2013
    A wardia21 y xavi116 les gustó este mensaje.
  3. deimos

    deimos Miembro de plata

    Registro:
    8 May 2011
    Mensajes:
    2,627
    Likes:
    1,097
    También veo la cosa más fácil la cosa con un Switch.