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

Necesitamos el bueno!!!!

Estas en el tema de Necesitamos el bueno!!!! en el foro de Java en Foros del Web. Resulta que tenemos que pasar a java un porgrama tal que al numero 1 le pertenece el lunes al 2 el martes y asi sucesivamente, ...
  #1 (permalink)  
Antiguo 10/12/2008, 09:39
 
Fecha de Ingreso: diciembre-2008
Mensajes: 10
Antigüedad: 15 años, 11 meses
Puntos: 0
Necesitamos el bueno!!!!

Resulta que tenemos que pasar a java un porgrama tal que al numero 1 le pertenece el lunes al 2 el martes y asi sucesivamente, de manera que introducido un numero muestre el dia de la semana. Ej:

1- Lunes
2- Martes
3- Miercoles
4- Jueves
5-Viernes
6-Sabado
7-Viernes



Resulta que tenemos dos clases.... una con el metodo calcular y la otra con el resto de los metodos incluido el main. Haciendo el codigo con el eclipse da error pidiendome que inicialize la variable de tipo String dia. Se inicializa con valor null pero el programa no funciona cualquier numero de 1 al 7 q le metas t sale: "el dia es -null-". Estamos desesperados haber si alguien puede escribirnos el codigo correcto:


/************************************************** **************************************
* nombre: DiaSemana
* autor: Alejandro López Miralles
* fecha: 8/12/08
*Descripción: Aplicacion que dada un numero muestra el día de la semana.
************************************************** ***************************************/
import java.io.*;
public class DiaSemana
{
private static double numero;
private static String dia;

/************************************************** ************************************************** *****
MÉTODO: calcularNumero() ENTRADA: valor numerico (numero)
SALIDA: Cadena de caracteres (dia).
PROCESO: Asinga el dia en función del numero.
************************************************** ************************************************** *****/
public static String calcularDia(double numero)
{
if (numero==1)
dia="Lunes";
if (numero==2)
dia="Martes";
if (numero==3)
dia="Miercoles";
if (numero==4)
dia="Jueves";
if (numero==5)
dia="Viernes";
if (numero==6)
dia="Sabado";
if (numero==7)
dia="Domingo";


return dia;

} // Fin de asignarDeporte().
}

















/************************************************** **************************************
* nombre: DiaSemana
* autor: xxxxxxx
* fecha: 8/12/08
*Descripción: Aplicacion que dada un numero muestra el día de la semana.
************************************************** ***************************************/

import java.io.*;
public class Usodia
{

/************************************************** ************************************************** ********
MÉTODO: leer() ENTRADA: ninguna SALIDA: Valor numerico (numero)
PROCESO: Leer de teclado un valor numerico.
************************************************** ************************************************** ********/
public static double leer() throws IOException
{
double numero;
String almacen;
System.out.println("Introduzca el valor numerico: ");
BufferedReader entrada = new BufferedReader
(new InputStreamReader(System.in));
almacen = entrada.readLine();
numero= Double.parseDouble(almacen);
return numero;
} // fin de leer()



/************************************************** ***********************************************
MÉTODO: mostrar() ENTRADA: Dia SALIDA: ninguna.
PROCESO: Muestra en pantalla una cadena de caracteres (dia)
************************************************** ************************************************/
public static void mostrar(String dia)
{

System.out.println("Le recomendamos que practique -"+dia+"-");

} // fin de mostrarDeporte().





/************************************************** ************************************************
MÉTODO: MAIN()
************************************************** ************************************************/
public static void main(String args[]) throws IOException
{
String dia[];
double numero;
numero = leer();
DiaSemana semana= new DiaSemana();
DiaSemana.calcularDia(numero);

System.out.println("Le recomendamos que practique -"+dia+"-");
}
}
  #2 (permalink)  
Antiguo 10/12/2008, 10:13
 
Fecha de Ingreso: septiembre-2003
Mensajes: 122
Antigüedad: 21 años, 2 meses
Puntos: 0
Respuesta: Necesitamos el bueno!!!!

Que ensalada de clases y metodos estaticos.

Código:
public class DiaSemana{

public static String calcularDia(double numero){
if (numero==1)
return "Lunes";
if (numero==2)
return "Martes";
if (numero==3)
return "Miercoles";
if (numero==4)
return "Jueves";
if (numero==5)
return "Viernes";
if (numero==6)
return "Sabado";
if (numero==7)
return "Domingo";

return "";

}

public static double leer() throws IOException{
double numero;
String almacen;
System.out.println("Introduzca el valor numerico: ");
BufferedReader entrada = new BufferedReader
(new InputStreamReader(System.in));
almacen = entrada.readLine();
numero= Double.parseDouble(almacen);
return numero;
}

public static void main(String args[]) throws IOException{
double numero = DiaSemana.leer();
String dia = DiaSemana.calcularDia(numero);
System.out.println("Le recomendamos que practique -"+dia+"-");
} 

}
Este codigo resuelve el problema de una manera mas simple.

Última edición por emucho; 10/12/2008 a las 10:23
  #3 (permalink)  
Antiguo 10/12/2008, 10:18
 
Fecha de Ingreso: diciembre-2008
Mensajes: 10
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Necesitamos el bueno!!!!

Vere si funciona xD
  #4 (permalink)  
Antiguo 10/12/2008, 10:32
 
Fecha de Ingreso: diciembre-2008
Mensajes: 10
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Necesitamos el bueno!!!!

Joder funciona funciona.... miles de gracias q capullos no sabiamos q el error estaba en el return ;)
  #5 (permalink)  
Antiguo 11/12/2008, 15:54
 
Fecha de Ingreso: diciembre-2008
Mensajes: 100
Antigüedad: 15 años, 11 meses
Puntos: 0
Información Respuesta: Necesitamos el bueno!!!!

Pero que complicación!!! Vamos a ver si me entero... si sólo quieres mostrar los días de la semana cuando te pasen un número y según la correspondencia :
1- Lunes
....
7- Domingo
....
Para qué tanta clase y métodos estáticos???
A mi lo que se me ocurre es muy simple... te declaras un array de String que inicializas con los valores días de la semana y lo consultas y ya está!!! ....

Código:
//es una constante con los días de la semana

private static final String DIAS_SEMANA[] = {"Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"};
Luego basta hacer un método:

Código:
public String diaDeLaSemana(int dia)
{
  if (dia<1 || dia>7)
   return("error");
 else
  return(DIAS_SEMA[dia-1]);  
// entre 1 y 7, 1..7, le restamos 1 para acceder al array 0..6
}

No hace falta complicarse tanto y hacerlo tan ineficiente... ¿¿¿Es esto lo que comentabas???
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 22:25.