# einlesen von date und boolean



## Acidburn1982 (11. Okt 2007)

Hallo....habe folgende Klasse "Tastatur". Kann mir jemand sagen was ich schreiben soll um die Formate Date und boolean auszulesen???  Danke schonmal


```
import java.io.*;
public class Tastatur {

	/**
	 * @param args
	 */
	public static String readString()
	{
		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()
	{
		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()
	{
		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()
	{
		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()
	{
		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;
		}
	}
		
}
```


----------



## SlaterB (11. Okt 2007)

speichere dir einen statischen 
 BufferedReader eingabe = new 
         BufferedReader(new InputStreamReader(System.in)); 
das reicht, 
bzw der Stream ist schon gepuffert, lies direkt aus System.in

--------

wenn du zwei Befehle mit Exception hast, dann schreibe die doch evtl in einen try/catch-Block, nicht in zwei

--------

was wird bei boolean eingegeben? "true"/"false"?
einfach mit equals prüfen und dann die zugehörigen boolean-Werte zurückgeben,
new Boolean(string) und Boolean.getBoolean(string) und Boolean.valueOf(string) gibts natürlich auch

-------

beim Datum ist das Format entscheidend,
wird da '15. Oktober', 'gestern', '7/7/98' oder wer weiß was eingegeben,
ganz magisch kann es nicht funktionieren,
mit SimpleDateFormat kannst du aber ein Format wie d/M/yy angeben und das Parsen macht dann der vorhandene Algorithmus,

siehe API von SimpleDateFormat/ Lehrbücher/ Forumsuche/ google


----------



## Acidburn1982 (22. Okt 2007)

danke erstmal....hab das mit boolean hinbekommen....aber beim datum bleibe ich immernoch hängen...

der benutzer soll seinen #  Geburtstag (Format: tt.mm.jjjj) eingeben und ich soll ihn in nem array abspeichern und wieder ausgeben...


----------



## SlaterB (22. Okt 2007)

schön, dass du deinen aktuellen Stand mitteilst,

hast du auch noch eine Frage? ist die SimpleDateFormat bekannt?


----------

