calendar

Status
Nicht offen für weitere Antworten.

Acidburn1982

Mitglied
Code:
		System.out.println(Calendar.MONTH);
		System.out.println(Calendar.DAY_OF_MONTH);
		System.out.println(Calendar.DAY_OF_WEEK);

liefert mir


2
5
7

aber müssten da nicht die aktuellen Daten stehen???
Also für heute:
1 (für ersten Monat)
24 (für den heutigen Tag)
3 (für den dritten Tag dieser Woche)

????????????
 
hi, so gehts. die monate fangen uebrigens bei 0 an...also januar = 0 und dezember = 11.

Code:
	int era = cal.get(Calendar.ERA); // 0=BC, 1=AD
	int year = cal.get(Calendar.YEAR); // 2002
	int month = cal.get(Calendar.MONTH); // 0=Jan, 1=Feb, ...
	int day = cal.get(Calendar.DAY_OF_MONTH); // 1...
	int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);

gruesse
 
Acidburn1982 hat gesagt.:
aber müssten da nicht die aktuellen Daten stehen???

Nein, du gibst nur die Werte der statischen Variablen der Klassen Calendar aus.

Irgendwo in der Klasse Calendar steht also in etwa der folgende Code:
Code:
public final static int MONTH = 2

Und diesen Wert 2 liest du aus, den aber die Klasse Calendar nur intern verwendet. Übrigens ist der immer gleich.
Um die Werte des Datums zu erhalten, das hat Mørketid ja schon gesagt, musst du Calendar.get(...) verwenden.
 
danke....aber wie kann ich das überprüfen? Ich habe zum Beispiel die Methode

Code:
public int findeAktuellenMonat()
		{
			Calendar cal = Calendar.getInstance();
			return cal.get(Calendar.MONTH);
			System.out.println(Calendar.MONTH);
		}

und "er" sagt mir das die Ausgabe dort nicht erfolgen kann ("unreachable code"). hmmm :/
 
du returnst in zeile 5 aus der methode, deswegen kann das sysout nicht mehr erfolgen
 
sorry ...hab ick grad selber mitbekommen...habs durch testen hinbekommen! Danke an alle!

Eine Frage noch: Wer Langeweile hat und mein Programm mal testen möchte (und mir evtl noch Verbesserungsvorschläge machen will) kann dies ja tun! Danke schonmal

meine Klasse Kalender mit der main

Code:
import java.util.Calendar;

public class Kalender //verwendet die Klassen "Eingabe" und "Fragen"
{

private int monat;

public static void main(String ...args)
{
	int monat = 0;			//0=Januar 11=Dezember

	if (args.length == 1) 
	{
		monat = Integer.parseInt(args[10]); //"Adventsmonat" aus Eingabeparameter lesen
	}

	Kalender k = new Kalender(monat);
	k.abfrage(); //startet die "Hauptschleife"
}



public Kalender(int monat)
{
	this.monat = monat; //sich den "Adventsmonat" merken
}

public void abfrage()
{	int tag=0;
	do
	{
		
			System.out.println("Advents-Kalender");
			for (int j=0; j<24; j++)		//optischer Kalender
			{
				System.out.print(j+1 +" ");
				if(j<9)
				{
					System.out.print(" ");
				}
				if((j+1)%6==0)
				{
				System.out.println();
				}
			}
		
	System.out.println();
		
	System.out.println("Welches Türle hätten's denn gern? 1..24, 0 für Ende");

	tag = Integer.parseInt(Eingabe.readString()); //übernimmt den Tag aus der Klasse "Eingabe"

	if(tag>0 && tag<25)
	{
	
	int aktuellerMonat = findeAktuellenMonat();

	while(aktuellerMonat != monat)
	{
		System.out.println("Ohh wir haben noch nicht den " + tag + ". Dezember");
		break; //Programm-Ende
	}
	

	
	while(tag == 0) 
	{
		System.out.println("Ciao!");
		break; //Programm-Ende
	}
	

	int aktuellerTag = findeAktuellenTag();
	System.out.println(aktuellerTag);
	if (aktuellerTag >= tag)
	{
		raetsel(tag);
	} 
	else 
	{
		System.out.println("Türchen lässt sich noch nicht öffnen, denn heute ist erst der " + aktuellerTag + ". Dezember");
	}
	}
	} while(tag != 0);//Abbruchbedingung
}


public int findeAktuellenTag()
{
	Calendar cal = Calendar.getInstance();	//es wird ein Kalender-Objekt im lokal gültigen Kalendersystem erzeugt
	return cal.get(Calendar.DAY_OF_MONTH);
}

public int findeAktuellenMonat()
{
	Calendar cal = Calendar.getInstance();
	return cal.get(Calendar.MONTH); //Calendar.MONTH startet mit Januar = 0
}

public void raetsel(int tag)
{	
	System.out.println(Fragen.FRAGE[tag]);
	
	if (Eingabe.readString().charAt(0) == Fragen.ANTWORT[tag])
	{
		System.out.println("Fein gemacht!");
		System.out.println();
	}
	else
	{
		System.out.println("Die Lösung ist " + Fragen.ANTWORT[tag] + " Streng dich nächstes Jahr etwas mehr an!");
		System.out.println();
	}
	
	
}

}

meine Klasse Fragen

Code:
public class Fragen {

	/**
	 * @param args
	 */
public final static String[] FRAGE = new String[] {
	"", //leere Frage, da Arrays mit 0 statt mit 1 beginnen
	"Wer hat Amerika entdeckt? a) Indianer b) Kolumbus c) Erik der Rote?", //Frage für den 1. des Monats
	"Wer sorgt im Winter immer für reichlich Schnee? a)Die Eisbären b)Frau Holle c)Peter Pan?", //Frage für den 2. des Monats
	"Welches Land heißt übersetzt 'Dorf' ? a)Mexico b)Kanada c)Iran?",
	"Was bedeutet das französische Sprichwort: 'Noblese oblige'? a)Bete und Arbeite b)Geld stinkt nicht c)Adel verpflichtet?",
	"Welches der Elemente gehoert nicht zu den Edelgasen? a)Barium b)Helium c)Xenon?",
	"Wann wurde das Drucken erfunden? a) 700n.Chr. b)Im 12 Jh. c)Im Jahr 1455?",
	"Wann kommt der Nikolaus in Russland? a)7.Januar b)13.Dezember c)Er kommt gar nicht?",
	"Welches war der längste Dinosaurier? a)Diplodocus b)Supersaurus c)Brachiosaurus?",
	"Wieviele Farben hat der Regenbogen? a)7 b)5 c)3?",
	"Welcher ist der Rote Planet? a)Venus b)Pluto c)Mars?",
	"Wie viele Rillen hat eine Schallplatte? a)2 b)8 c)32?",
	"Der Weihnachtsmann hat kleine Helfer, wie heissen diese? a)Neunen b)Zehnen c)Elfen?",
	"Wo wohnt der Weihnachtsmann im Sommer? a)Am Nordpol b)Auf Mallorca c)Im Wald?",
	"Wer wurde 1990 Weltmeister? a) Frankreich b) Brasilien c) Deutschland?",
	"Welcher ist der rote Planet? a) Mars  b) Pluto c) Merkur?",
	"Wieviel Finger hat der Mensch? a)6  b)8  c)10?",
	"Wer kann am meisten nerven? a)meine Freundin  b)mein Kopf  c)Frau Merkel?",
	"Wie heißt Homers Vater aus den Simpsons? a)Otto  b)Karl  c)Ape?",
	"In welchem Abstand gibt es ein Schaltjahr? a)alle 2 Jahre  b)alle 4 Jahre  c)alle 6 Monate?",
	"Welche ist die erfolgreichste deutsche Band international? a)Böhse Onkelz  b)Rammstein  c)Die Doofen?",
	"Was erwartet einen häufig, wenn man nach Hause kommt? a)Theater von der Alten  b)eine warme Mahlzeit  c)ein sprechendes Paar Schuhe?",
	"Wohin fuhr die erste deutsche Eisenbahn? a)Dresden  b)Köln  c)Fürth?",
	"Was haben die Geschwister Curie entwickelt? a)die Atombombe  b)das Rad  c)die Röntgenstrahlen?",
	"Wie heißt der Onkel von Tick, Trick und Track? a)Donald  b)Dagobert  c)Pluto?"
};
public final static char[] ANTWORT = new char[] {
	'x', //leere Antwort, da Arrays mit 0 statt mit 1 beginnen
	'b', 'b', 'b', 'c', 'a', 'a', 'c',
	'b', 'a', 'c', 'a', 'c', 'a', 'c',
	'a', 'b', 'a', 'c', 'b', 'b', 'a',
	'c', 'c', 'a'};	

}

und meine Klasse Eingabe

Code:
import java.io.*;
public class Eingabe {


	public static String readString()//wartet auf eine Eingabe von der Komandozeile und 
										//liefert eine Instanz von String
	{
		BufferedReader eingabe = new 
			BufferedReader(new InputStreamReader(System.in));
		
		try
		{
			return eingabe.readLine();
		}
		catch(IOException e)
		{
			System.out.println(e);
			return new String("");
		}
	}
	
	public static char readChar()//wartet auf eine Eingabe von der Komandozeile und 
									//liefert einen Wert vom Grundtyp char
	{
		BufferedReader eingabe = new 
			BufferedReader(new InputStreamReader(System.in));
		String line="";
		char zeichen='0';
		try
		{
			line=eingabe.readLine();
			if (line.length()>0)
				zeichen=line.charAt(0);
				return zeichen;
		}
		catch(Exception e)
		{
			System.out.println(e);
			return '0';
		}
		
	}
	
	
	public static int readInt()//wartet auf eine Eingabe von der Komandozeile und 
								//liefert einen Wert vom Grundtyp int
	{
		BufferedReader eingabe = new 
			BufferedReader(new InputStreamReader(System.in));
		String line="";
		
		try
		{
			line=eingabe.readLine();
		}
		catch(IOException e)
		{
			System.out.println(e);
		}
		try
		{
			return (new Integer(line)).intValue();
		}
		catch (Exception e)
		{
			return 0;
		}
	}
	
	public static float readFloat()//wartet auf eine Eingabe von der Komandozeile und 
									//liefert einen Wert vom Grundtyp float
	{
		BufferedReader eingabe = new 
			BufferedReader(new InputStreamReader(System.in));
		String line="";
		
		try
		{
			line=eingabe.readLine();
		}
		catch(IOException e)
		{
			System.out.println(e);
		}
		try
		{
			return (new Float(line)).floatValue();
		}
		catch (Exception e)
		{
			return 0;
		}
	}
	

	public static double readDouble()//wartet auf eine Eingabe von der Komandozeile und 
										//liefert einen Wert vom Grundtyp double
	{
		BufferedReader eingabe = new 
			BufferedReader(new InputStreamReader(System.in));
		String line="";
		System.out.flush();
		
		try
		{
			line=eingabe.readLine();
		}
		catch(IOException e)
		{
			System.out.println(e);
		}
		try
		{
			return (new Double(line)).doubleValue();
		}
		catch (Exception e)
		{
			return 0;
		}
	}
	
}
 
Acidburn1982 hat gesagt.:
Wer Langeweile hat und mein Programm mal testen möchte (und mir evtl noch Verbesserungsvorschläge machen will) kann dies ja tun!

Nach Erblicken deines 286 Zeilen langen Programms, habe ich mich entschieden,
plötzlich keine Langeweile mehr zu haben. :shock:

P.S.: Ein zusätzliches Dankeschön meines Chefs an dich, kommt später!
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben