elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  [Java]Como saber el día de la semana
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Java]Como saber el día de la semana  (Leído 10,714 veces)
0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
[Java]Como saber el día de la semana
« en: 1 Junio 2013, 23:48 pm »

Sencillo programa para saber el día de la semana de una fecha...
el único inconveniente es que hay que saber si el año es bisiesto


Código:
import java.util.Scanner;

public class Estudiando{
   
public static String Busca_Dia(int dia){
String El_Dia=null;
   
  switch(dia){
      case 0: El_Dia="Domingo"; break;
      case 1: El_Dia="Lunes"; break;
      case 2: El_Dia="Martes"; break;
      case 3: El_Dia="Miercoles"; break;
      case 4: El_Dia="Jueves"; break;
      case 5: El_Dia="Viernes"; break;
      case 6: El_Dia="Sabado"; break;   
  }

return El_Dia;
}

    public static void imprime(String palabra){
    System.out.println(palabra);
    }
       
public static void main(String[]args){
Scanner leer = new Scanner(System.in);

int año,dia,mes;
int comprobar_año;

imprime("Ingresa año");
 año = leer.nextInt();

do{
imprime("ingresa mes: del 1 al 12");
 mes = leer.nextInt();
}while(mes>12 || mes==0);

do{
imprime("ingresa dia");
 dia = leer.nextInt();
}while(dia>31 || dia==0);

do{
imprime("El año es bisiesto? Si->1,  No->2");
 comprobar_año = leer.nextInt();
}while(comprobar_año>2 || comprobar_año==0);

int Modulo_mes = modulo_mes(mes,comprobar_año);

//Formula para saber el dia
int A = (año-1) % 7;
int D = dia % 7;
int DM = (((año-1)/4) - (3*((año-1)/100+1)/4)) % 7;
int resultado = (A + D + Modulo_mes + DM) % 7;

    String busca_dia = Busca_Dia(resultado);
    System.out.println("El dia Es: " + busca_dia);
    imprime("Comunidad Underground Hispana El-Hacker.com");

}


public static int modulo_mes(int mes,int bisiesto){
int modulo=0;

switch(mes){
    case 1: modulo = 0; break;
    case 2: modulo = 3; break;
    case 3: if(bisiesto==1)
               modulo = 4;
            else
              modulo = 3; break;
    case 4: if(bisiesto==1)
               modulo = 0;
            else
              modulo = 6; break;
    case 5: if(bisiesto==1)
               modulo = 2;
            else
              modulo = 1; break;
    case 6: if(bisiesto==1)
               modulo = 5;
            else
              modulo = 4; break;
    case 7: if(bisiesto==1)
               modulo = 0;
            else
              modulo = 6; break;
    case 8: if(bisiesto==1)
               modulo = 3;
            else
              modulo = 2; break;
    case 9: if(bisiesto==1)
               modulo = 6;
            else
              modulo = 5; break;
    case 10: if(bisiesto==1)
               modulo = 0;
            else
              modulo = 1; break;
    case 11: if(bisiesto==1)
               modulo = 4;
            else
              modulo = 3; break;
    case 12: if(bisiesto==1)
               modulo = 6;
            else
              modulo = 5; break;       
}

return modulo;
}

}


En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Chuidiang

Desconectado Desconectado

Mensajes: 161



Ver Perfil WWW
Re: [Java]Como saber el día de la semana
« Respuesta #1 en: 8 Junio 2013, 05:54 am »

Lo del año bisiesto es fácil, más que saber el día de la semana  ;D

Código:
  public static boolean isLeap(int year)
  {
     return ((year%4==0&&year%100!=0)||(year%400==0));
  }

extraíado de http://es.wikipedia.org/wiki/A%C3%B1o_bisiesto

De todas formas, la clase java Calendar tiene un método get(Calendar.DAY_OF_WEEK) que devuelve el día de la semana.

Se bueno.


En línea

maxim_o

Desconectado Desconectado

Mensajes: 186


Ver Perfil
Re: [Java]Como saber el día de la semana
« Respuesta #2 en: 8 Junio 2013, 10:37 am »

Si, calendar tiene un metodo que te da el dia de la semana, pero  creo que es del dia actual.... Es decir del dia que tengas marcado en la fecha del ordenador, no de una fecha cualquiera.

En línea

Chuidiang

Desconectado Desconectado

Mensajes: 161



Ver Perfil WWW
Re: [Java]Como saber el día de la semana
« Respuesta #3 en: 8 Junio 2013, 12:27 pm »

A Calendar puedes darle cualquier fecha

Código:
Calendar unaFecha = Caldendar.getInstance();
unaFecha.setTime(.....);

y te devolverá el día de la semana de esa fecha.

Se bueno.
En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: [Java]Como saber el día de la semana
« Respuesta #4 en: 12 Junio 2013, 00:17 am »


De todas formas, la clase java Calendar tiene un método get(Calendar.DAY_OF_WEEK) que devuelve el día de la semana.

Se bueno.

na el chiste era escribir el código, pero hay otra forma mejor de hacerlo sin tantos calculos
En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Me gustaria saber como llamar y generar una salida de un archivo plano en java
Java
Osma015 0 2,766 Último mensaje 6 Noviembre 2004, 02:18 am
por Osma015
saber cual es la ventana activa en JAVA
Java
rosado78 6 4,762 Último mensaje 23 Marzo 2012, 04:21 am
por Schetz
Urgente Ayuda - saber el nombre, pid, hwnd de un exe en java
Java
Schetz 0 1,754 Último mensaje 23 Marzo 2012, 04:19 am
por Schetz
¿Cómo puedo saber mi nivel en java?
Java
Aikanáro Anário 4 9,270 Último mensaje 19 Septiembre 2012, 05:21 am
por ChavalChavito
Saber si la variable Post esta vacia en Java Script
Desarrollo Web
Lupin 3 4,507 Último mensaje 30 Abril 2013, 02:35 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines