Wochentag

Status
Nicht offen für weitere Antworten.
Hallo,
wieder mal eine Frage.
Und zwar hab ich hier ein Programm das für ein Datum den Wochentag ausgibt.
Es funktioniert soweit, nur komm ich nich drauf wie ich Schaltjahre mit einbau.
Ausgehen vom 10. April 1986, der ein Donnerstag war.

Java:
// Wochentag.java

public class Wochentag
{
	public static void main (String []args)
	{
		int Tag = 10;
		int Monat = 4;
		int Jahr = 1986;
		
		int Tage = 0;
		int V = 0;		// Das sind die bereits vergangen Tage!
		
		switch (Monat)
		{
			case 12: Tage += 31;
			case 11: Tage += 30;
			case 10: Tage += 31;
			case 9: Tage += 30;
			case 8: Tage += 31;
			case 7: Tage += 31;
			case 6: Tage += 30;
			case 5: Tage += 31;
			case 4: Tage += 30;
			case 3: Tage += 31;
			case 2: Tage += 28;
			case 1: Tage += Tag;
		}
		
		V = (Tage + ((1986-1980)*365))%7;
		
		if (V == 0)
		{
			System.out.println("Das war ein Donnerstag");
		}
		else if (V == 1)
		{
			System.out.println("Das war ein Freitag");
		}
		else if (V == 2)
		{
			System.out.println("Das war ein Samstag");
		}
		else if (V == 3)
		{
			System.out.println("Das war ein Sonntag");
		}
		else if (V == 4)
		{
			System.out.println("Das war ein Montag");
		}
		else if (V == 5)
		{
			System.out.println("Das war ein Dienstag");
		}
		else if (V == 6)
		{
			System.out.println("Das war ein Mittowch");
		}
	
	}
}
 
Das mit den Schaltjahren ka, aber mal ein allgemeiner Tipp:

Java:
// ...

List<String> vList = new ArrayList<String>();
vList.add("Donnerstag");
vList.add("Freitag");
vList.add("Samstag");
vList.add("Sonntag");
vList.add("Montag");
vList.add("Dienstag");
vList.add("Mittwoch");
System.out.println("Das war ein "+vList.get(V));
 
Sieht ganz nett aus... Hab aber keine Ahnung was da steht =), hab im Okt mim Studium angefangen (Medieninformatik) und sowas hab ich da bisher nich gesehn 🙂...
Aber danke trotzdem
 
Achso ok, naja dann isses nicht so wichtig 😉 Wenn du es verstehen willst dann google nach "Java List" oder sowas
 
mit dem datum geht viel einfacher. keine ahung ob dir das jemand schonmal gezeigt hat seit oktober, aba die java api ist ein gutes hilfsmittel (meistens) hier die lösung deines problems 😉

getDay

@Deprecated
public int getDay()

Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.DAY_OF_WEEK).

Returns the day of the week represented by this date. The returned value (0 = Sunday, 1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday) represents the day of the week that contains or begins with the instant in time represented by this Date object, as interpreted in the local time zone.

Returns:
the day of the week represented by this date.


Java:
int year = 2009;
int month = 11;
int date = 23;
int weekday;

Date d = new Date(year, month, date)
weekday = d.getDay();

switch(weekday) {
case 0:
System.out.println("Sunday");
break;
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
}
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben