split

Hey Leute!
Ich hab erst mit programmieren angefangen und wollte fragen, ob man auch ein Datum in java eingeben kann. Also so wie man ne Variable eingibt.. so z.B. in nem Kopf

private void Datum("dann hier die Variable")
{
....

Dass man dann später für die Variable z.B. 4.3.1995 eingeben kann.
Ich würde halt gerne mal wissen ob das geht und wie man das mit nem "split" darstellen kann.

Ich hatte halt vor eine Methode zu schreiben, in der man ein Datum eingeben kann und diese dann überprüft ob es das Datum wirklich gibt (hatte da an was mit "switch" gedacht, komme halt nur nur mit dem split nicht so klar).

mfg. Legolas
--------------------------------------------------------
Wäre nett wenn mir jemand helfen kann.
 
JTextField und mit getText drauf zugreifen? Und an Punkten kann man afaik nicht splitten, nutze substring(int arg0, int arg1);.
 
Hallo,

natürlich kannst du eine Methode machen, die ein Datum bekommt und diese verarbeitet.
Um aus dem String eine für zeitangaben übliche Variable zu machen benutzt man normalerweise ein SimpleDateFormat. (Siehe API)


Java:
private static SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");

private void Datum(String date)
{
Date date = sdf.parse(date);
}
Der SimpleDateFormater geht hier von der Zeitzone deines Systems aus, falls das nicht stimmt musst du diese selbst setzen.

Falls wir an deiner Frage etwas vorbeigeschlittert sind, hole bitte etwas weiter aus. Es helfen je nachdem auch Code schnipsel.
 
naja ich verstehs nicht so ganz..
Also ich glaub so wäre es einfacher.. also wie könnte ich jetzt ne Variable als beispielsweise: "20-10-2004" eingeben, sie dann anhand der "-" splitten? Dann wäre halt noch wichtig wie ich dann auf den ersten Teil also "20" oder zweiten Teil oder dritten zugreifen kann.
So dass ich dann schreiben kann
if("Teil2"<31)
{
System.out.println("true");
}
oder so was halt...

mfg. Legolas
danke aber schon mal das meine vorherige Frage beantwortet wurde
 
Wenn schon bitte

boolean b = "Teil2" < 31;
System.out.println(b);

Java:
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Date extends Object
{
	public Date()
	{
		super();
		
		System.out.println("Gib mal bitte schnell mal ein Datum in folgenden Format ein: xx.yy.zzzz");

		BufferedReader input =
			new BufferedReader(
				new InputStreamReader(
						System.in));
		String date = this.input(input);
		
		try
		{
			System.out.println("Tag: ".concat(date.substring(0, 2)));
			System.out.println("Monat: ".concat(String.valueOf(Integer.parseInt(
					date.substring(3, 5)) - 1)));
			System.out.println("Jahr: ".concat(date.substring(6, 10)));
		}
		catch(Throwable t)
		{
			System.out.println("Zu blöd dich an ne Volkschulaufgabe zu halten?");
		}
	}
	private String input(BufferedReader input)
	{
		String result = null;
		
		try
		{
			result = input.readLine();
		}
		catch(Throwable t)
		{
			t.printStackTrace();
		}
		return(result);
	}
	public static void main(String[] args)
	{
		new Date();
	}
}
 
zum Splitten eines Strings gibt es die split(String regExpr) Methode von String.
Der Parameter ist eine "regular Expression". Aber sofern das Zeichen (hier:'-') nicht schon eine andere Bedeutung in regular Expressions hat, reicht es das anzugeben.

Als Ergebnis bekommst du ein String Array.
 

Neue Beiträge

Zurück