# Klasse für Eingaben erstellen



## HenrikH (17. Jan 2009)

Es ist nicht wirklich eine Hausaufgabe, aber ich beschäftige mich persönlich damit und stelle diese Aufgabe ob Ihrer vermutlichen Einfachheit einfach mal hier herein.

Ich möchte eine Klasse erstellen mit allen möglich Eingabetypen, die Klasse soll Eingabe für:

Die Überbedingung ist es jede einzelne Methode über boolean abzufragen, ob das eingegebene Zeichen zulässig ist.


+Int
+Float
+Long
+Double
+Short
+Char
+String

enthalten.


Diese sollen dann später über einen einfachen Befehl in meine kleinen Anfängerprogramme integrierbar sein. Das Problem, welches mich am meisten quält ist 

1. Die Syntax in einer Klasse
2. Der Aufrauf einer Methode aus einer selbsterstellten Klasse

Der Aufruf soll ähnlich wie nun folgt zu realisieren seien.



```
Input in = new Input();
System.out.print("Beispieleingabe: ");
    anzahl = in.readInt();
```

Vielleicht könnt Ihr mir da ja den einen oder anderen Denkanstoß oder die eine oder andere Syntaxregel beibringen, bin blutiger Anfänger und schätze jede hilfe sehr.

Vielen Dank schonmal im voraus

Gruß

HenrikH


----------



## Ebenius (18. Jan 2009)

Hallo Henrik,

ich gebe Dir die beste Hilfe die ich Dir als Java-Neuling geben kann, indem ich Dir empfehle was ich jedem Neuling empfehle: Schnapp Dir ein Buch (ob online oder Papier ist unwichtig) und lies es, programmier die einfachen Beispiele nach und modifiziere sie, wenn Du unterfordert bist. Sobald Du an irgendwelchen Detailfragen hängen bleibst, hilft Dir das Forum gern. Aber um die Sprache Schritt für Schritt zu lernen ist ein Forum eine schlechte Wahl. Es gibt sicher einige bessere Bücher die ich nicht kenne. Wenn Du (zum Beispiel hier im Forum) nichts besseres findest und der englischen Sprache mächtig bist, findest Du in den Sun Java™ Tutorials viele nützliche Dokumente.

Viel Erfolg,
Ebenius


----------



## HenrikH (18. Jan 2009)

Danke schonmal für die Antwort, werde mir die empfohlenen Tutorials mal ansehen, es ist nun konkret so, dass ich das ganze in einem eigenen Programm für den Datentyp String realisiert habe, nur will ich das ganze halt auslagern in eine Klasse, ich schicke mal den bisher geschriebenen Codeschnipsel:


```
import java.io.*;

public class Eingabe {
  public static void main(String[ ] args) {
   
    BufferedReader lesePuffer = new BufferedReader (new InputStreamReader (System.in));
    String  strZeile = "";
    System.out.print("String eingeben: "); 		
    try { 		   
      strZeile = lesePuffer.readLine(); 		
    }catch(IOException e) { 
      System.out.println("Fehler: " + e);
    }
    System.out.println(strZeile);
		
  } 
}
```

Mir ist bewusst wie ich natürlich einen eingegebenen String in ein anderes Datenformat parse, nur will es mir halt nicht einleuchten bzw. einfallen wie ich daraus eine einzige schnell aufrufbare Klasse mache?


Vielleicht kann mir ja jemand doch noch einen weiteren Denkanstoß geben und mich in die richtige Richtung weisen.

Mit freundlichem Gruße

Henrik[/code]


----------



## Ravendark (18. Jan 2009)

Einen BufferedReader als Objektvariable, dieser wird im Konstruktor instanziiert, dann verschiedene public-Methoden die das Einlesen des entsprechenden Datentyps organisieren und bei einer Exception eine sinnvolle Fehlermeldung ausgeben.


----------



## HenrikH (18. Jan 2009)

vielen Dank das war genau der Denkanstoß den ich gebraucht habe!
Es hat sich schon gelohnt sich hier anzumelden.

Jetzt heisst es von meiner Seite üben üben üben 

Mit freundlichem Gruße

Henrik


----------



## Gast (20. Jan 2009)

Du willst eine schnell Einsatzbereite Klasse die Sache neinliest von der Tastatur, oder?!

In diesem fall würde ich dir empfehlen Eine Klasse zu schreiben, die man nicht instanzieren brauch, Stichwort static.
Ich habe selber so eine, und zwar seit Jahren und is super. Hier mal n konkreter Hinweis:


```
public class Eingabe{

    public static String readString(){
        //ganzes Zeug mit BufferReader und so
        return eingelsen
    }

    public static int readInt(){

        String zahl = readStrring();
        //parsen und so
        return intZahl;
    }
}

///irgendne andere Klasse:

main(){

String d = Eingabe.readString();

}
```


----------

