Días transcurridos en el año

Respuesta de
a
Usuario
Buenas noches Alejo

La pregunta es la siguiente:

Escriba un programa que lea un mes y día y calcule los días transcurridos desde el primero de enero.

Gracias por la ayuda.
Avatar
Experto
Saludos otra vez, en este programa hay dos detalles uno que el mes de febrero tiene 28 días y 2 que realmente el día 1 de enero no se cuenta ya que ese es el día de referencia o donde comienza la cuenta, es decir que si ingresas el día Enero 1 el programa te dirá que hay cero (0) días, lo cual no se si esta de acuerdo con lo que tu profesor quiere, para mi esta correcto así pero no se para tu profesor, en todo caso si no es así, solo tienes que inicializar la variable int sumaDeDias = -1; en cero (0) es decir: int sumaDeDias = 0 de esa forma si ingresas cuantos días hay desde Enero 1 hasta Enero 1 te dirá 1. Espero que te sirva:

import javax.swing.*;


public class holaMundo {

public static void main(String[] args) {
// un vector para alamcenar los dias que tiene cada mes, suponemos que febrero tiene 28 dias
int [] diasDeMeses = new int [] {31,28,31,30,31,30,31,31,30,31,30,31,30,31};
String [] nombresDeMeses = new String [] {"","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};

// pedimos al usuario el mes y el dia
int mes = Integer.parseInt(input("Digite el numero del mes (1 para Enero):"));
int dia = Integer.parseInt(input("Digite el numero del dia:"));

int sumaDeDias = -1;
for( int i = 0; i<mes-1; i++ ){
sumaDeDias += diasDeMeses;
}
sumaDeDias += dia;
JOptionPane.showMessageDialog(null,"Desde Enero 1 hasta "+nombresDeMeses[mes]+", "+dia+" hay "+sumaDeDias+" dias");

System.exit(0);
}

static String input(String mensaje){
return JOptionPane.showInputDialog(null,mensaje);
}

}
Usuario
Como siempre excelente amigo.

Gracias por tu inmensa ayuda, Alejo.