Inputs prüfen

Zet

Aktives Mitglied
Hallo zusammen,

ich versuche mir derzeit eine Bibliothek zusammenzubauen, in der ich Input-Prüfungen sammel.
Während ich also die verschiedenen Methoden zusammenbastelte, stelle ich mir folgende Frage:

Ich habe diverse Methoden a'la getUpperLetters, hasUpperletters, hasOnlyLetters, isParsableToInt, isParsableToDouble....

nun kam ich bei getInt(String string) an, welche mir den numerischen(int, Double) wert zurückgeben sollte.
Zuerst müsste ich sicherstellen das der übergebene String parsable ist, dazu habe ich ja bereits eine Funktion: boolean isparsabletoInt(String string) - boolean isParsableToDouble(String string).

Ich habe einfach keine Vorstellung, wie das in der Praxis aussieht, und habe das Gefühl ich gehe da ganz falsch ran.


nun würde die Methode ca so aussehen:

Java:
static private int getInt(String string)
	{
		if (isParsableToInt(string) == true)
		{
			return Integer.parseInt(string);			
		}
		System.out.println("getInt fehlgeschlagen");
		return 0;
	}

Nun die Frage dazu;
Würdet ihr hier z.B isParsableToInt in der Methode nocheinmal neu definieren(rad nochmal neu erfinden), oder die isParsableToInt-Methode einfach aufrufen? Dann müsste ich ja auch sicherstellen das wenn getInt verwendet wird, die isParsableToInt-Methode implementiert wird. --> Interfaces?
ich müsste ja auch prüfen ob evtl ein Double eingegeben wurde, oder sonstiges.
// es geht mehr um den Aufbau der Bibliothek und der Methoden, als um die Logik der prüfungen selbst.


Ich frage deshalb, weil ich das gefühl habe das ich wenn ich so weitermache, meine Methoden wieder ewig aufblähe und die Bibliothek nicht wirklich nutzbar wird.

Ich meine, später wird man ja wahrscheinlich sowieso einfach String.getInt() aufrufen, und eine rückmeldung bekommen mit dem int-Wert oder eine Rückmeldung das die Funktion fehlgeschlagen ist.
Oder gehe ich an die ganze Sache falsch heran????:L???:L???:L

Grüße
Zet


edit: der Code von isParsableToInt:
Java:
static private boolean isParsableToInt(String string) 
	{
		try 
		{
			Integer.parseInt(string);
			System.out.println("isParsableToInt:" + string + " ist eine int-parsbare Zahl");
			return true;
		} 
		catch (NumberFormatException nfe) 
		{
			System.out.println("isParsableToInt: " + string+ " ist keine int-parsbare Zahl");
			return false;
		}
	}
 
Zuletzt bearbeitet:

Zet

Aktives Mitglied
Also so langsam habe ich mich komplett verwirrt.
Kann mir jemand sagen wie so eine sammlung von Methoden die man häufig benötigt aussieht,
quasi eine Utility-Klasse?

So wie ich das gemacht habe, muss es eigentlich falsch sein.

Kurz zusammengefasst ist das Ziel sicherzustellen das der input z.B einer GUI eine Zahl ist, und diesen zurückzugeben:
String eingabe = "123";
eingabe.getInt(); --> gibt den Integer-Wert zurück, falls parse nicht möglich fehler.
eingabe.getDouble() --> selbes Spiel


Ich denke jeder hat wohl so eine eigene Utility-Klasse, mit der er arbeitet um alltägliche Methoden wie
Input-validierungen durchzuführen, nur krieg ich das einfach nicht gebacken. :bahnhof:


// Sorry für Doppelpost, aber kann meinen 1. Beitrag nichtmehr editieren.

Grüße
Zet
 
Zuletzt bearbeitet:

Flown

Administrator
Mitarbeiter
Ich weiß jetzt nicht ob das so sinnvoll ist was du da machst. Ich würde einfach mit
Code:
Integer.parseInt()
arbeiten, da wenn die Eingabe so und so keine Zahl ist das abfangen kannst (in deinem Fall musst). Dann hast du eben einen try/catch-Block und verfährst dann wie du wünscht weiter.
 

Natac

Bekanntes Mitglied
Also erstmal: String ist eine finale Klasse, die du nicht ändern kannst. Und da es auf String kein getInt() gibt, wirst du auch keines einfügen können.

Eine Util-Klasse sieht bei mir so aus:
Java:
public final class XxxUtil{
  
  private static final CONSTANT_1 = ...;
  private static final CONSTANT_2 = ...;

  private XxxUtil(){}

  public static A utilMethod1(B b, C c){ ... }

  public static A utilMethod2(B b, C c){ ... }

}

Ich habe sogar eine util-Bibliothek, wo ich für fast jeden Typ eine Util-Klasse habe, die ich eben in meheren Projekten nutze.

Allgemein würde dir empfehlen solche Methoden so allgemein wie möglich zu halten. Mein Vorschlag für die
Code:
toInt(String s)
-Methode:

Java:
public int toInt(String s, int defaultValue){
  try{
    return Integer.parseInt(s);
  }
  catch(NumberFormatException e){
    return defaultValue;
  }
}
Falls deine
Code:
isParsableToInt(s)
OHNE Exception auskommt, dann würde ich die natürlich vorher aufrufen. Aber wenn du eh nur guckst, ob da parsen funktioniert, dann kannst du den Rückgabewert auch direkt verwenden.

Willst du keinen Default-Wert nutzen, dann würde ich dir drigend raten eine Exception zu werfen.



Denn woher willst du denn wissen, ob der Nutzer "X" oder "0" eingegeben hat, wenn du 0 als Zahl zurückbekommst? Und dein Nutzer wird sich ganzschön umgucken, wenn du einfach mit 0 weitermachst. Also entweder Exception, oder default wert übergeben, aber nie in der methode selbst festlegen.
 
Zuletzt bearbeitet:

Zet

Aktives Mitglied
Danke für die Antworten.

Also ist meine isParsableToInt-Methode soweit schon in Ordnung?
Es ging auch weniger um das "wie" die Methoden prüfen, sondern eher wie ich den Aufbau auf die reihe kriege.

Ich habe wirklich dämlich formuliert was das Problem ist.

Hintergrund war folgender, das ich zum x-mal User-Eingaben über eine GUI geprüft habe,
das sie eine Zahl ist, das sie.... ist und .... ist, verschiedene Prüfungen eben.

Bisher habe ich immer den Quelltext neu geschrieben,
da dachte ich mir legst dir mal eine Bibliothek an, wo du deine Methoden ein wenig sortiert hinterlegen kannst - und Später einfach diese aufrufst

Also fing ich an die Methoden zu sammeln, und möglichst allgemein zu schreiben.
Doch dann kam mir das ganze spanisch vor(erster Beitrag), weil es einfach eine riesige Klasse mit verschiedenen Methoden war, und ich den Methodenaufruf Variable.checkSomething
und nicht checkSomething(variable).

An diesem Punkt angelangt, wusste ich nichtmehr wo oben und unten ist - und habe hier nach einer Lösung gesucht.

Ich dachte eben ich erstelle mir eine Art Werkzeugkiste, in der ich meine verschiedenen Werkzeuge ablege und bei bedarf raushole, nur am ende hatte der hammer ein sägeblatt als Stiehl :eek:

dann eben back to the roots


Grüße
Zet
 

Flown

Administrator
Mitarbeiter
Andere Möglichkeit wäre das du einen [JAPI]Scanner[/JAPI] verwendest. Das ist einfach und schön und kannst einfach
Code:
sc.hasNextFloat();
oder was auch immer prüfen und dann gleich danach parsen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Java ProcessBuilder - externer Prozess nur einmal starten und mehrere Inputs geben Java Basics - Anfänger-Themen 7
F Datentyp eines Inputs überprüfen Java Basics - Anfänger-Themen 2
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
Ostkreuz Int Scanner auf Enter Eingabe prüfen Java Basics - Anfänger-Themen 4
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
Fiedelbambu Prüfen von Komma stelle beim Taschenrechner Java Basics - Anfänger-Themen 5
sserio Prüfen, ob eine Zahl eine periodische Zahl ist Java Basics - Anfänger-Themen 20
I Auf vollen Monat prüfen? Java Basics - Anfänger-Themen 22
A Dateiname auf Vorkommen prüfen Java Basics - Anfänger-Themen 29
I Prüfen, ob Anzahl an Monate ein Jahr ergeben Java Basics - Anfänger-Themen 4
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
W Klasse existiert prüfen Java Basics - Anfänger-Themen 5
Q Prüfen ob Zahl als Summe von Potenzen dargestellt werden kann. Java Basics - Anfänger-Themen 20
U Kann man bei Java gleich mehrere Bedingungen prüfen in der If, aber in einem "Satz"? Java Basics - Anfänger-Themen 1
O Ich ahbe einen char und diesen soll ich bei .matches prüfen, also ob der char in meiner Zeichenkette vorhanden ist, wie mache ich das? Java Basics - Anfänger-Themen 9
B Array nach Wert prüfen rekursiv Java Basics - Anfänger-Themen 5
G Strings auf Gleichheit prüfen - Aufgabe vom Prof. Java Basics - Anfänger-Themen 5
M Array auf Primzahlen prüfen Java Basics - Anfänger-Themen 7
K Wie String prüfen ob drei mal das gleiche Zeichen vorkommt? Java Basics - Anfänger-Themen 7
J ArrayList auf bereits vorhanden eintrag prüfen Java Basics - Anfänger-Themen 5
X Zwei Dimensionales Array prüfen Java Basics - Anfänger-Themen 1
B Prüfen, ob Zeit Überschreitung Java Basics - Anfänger-Themen 2
B Sudoku prüfen Java Basics - Anfänger-Themen 13
M Prüfen auf null ohne NPE Java Basics - Anfänger-Themen 1
X Array auf Leerstellen prüfen Java Basics - Anfänger-Themen 1
FelixN Prüfen, ob ein 2D-Array rechteckig ist Java Basics - Anfänger-Themen 42
C Erste Schritte JComboBox Einträge auf Duplikat prüfen Java Basics - Anfänger-Themen 4
M prüfen ob alle array werte gleich sind Java Basics - Anfänger-Themen 27
C Array auf Null-Inhalte prüfen Java Basics - Anfänger-Themen 9
B Prüfen, ob Country Code in Europa ist? Java Basics - Anfänger-Themen 24
L Prüfen ob Fax (Tif-Datei) vollständig angekommen ist Java Basics - Anfänger-Themen 15
O Datenstruktur auf SET prüfen in O(n) Java Basics - Anfänger-Themen 32
O Einzelne Bits umwandeln und prüfen Java Basics - Anfänger-Themen 23
U Mehrfacheingabe auf bestimmte Parameter prüfen Java Basics - Anfänger-Themen 8
B Prüfen, ob Datum2 der gleiche Tag ist wie Datum1 Java Basics - Anfänger-Themen 10
Dimax Erste Schritte String Eingabe Prüfen Java Basics - Anfänger-Themen 11
S char auf buchstabe/zeichen prüfen Java Basics - Anfänger-Themen 1
S Array doppelter Wert prüfen Java Basics - Anfänger-Themen 7
B Prüfen, ob es schon einen Termin gibt in einem Zeitraum Java Basics - Anfänger-Themen 5
K Linux Speicherplatz mit Java prüfen Java Basics - Anfänger-Themen 4
O Array nach gleichen Zahlen prüfen und ausgeben Java Basics - Anfänger-Themen 6
G Compiler-Fehler Auf Anagramm prüfen Java Basics - Anfänger-Themen 1
B Excel File einlesen und Überschrift prüfen Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert Input/Output Prüfen wie oft etwas eingegeben wurde Java Basics - Anfänger-Themen 2
K Operatoren 2D Int Array auf Null-Referenzen prüfen Java Basics - Anfänger-Themen 18
S Prüfen ob Zelle in Excel leer ist funktioniert nicht (Apache POI) Java Basics - Anfänger-Themen 18
C Klassen Reguläre Ausdrücke auf Gleichheit prüfen Java Basics - Anfänger-Themen 5
M Erste Schritte Java prüfen ob eine der Möglichkeiten erfüllt ist Java Basics - Anfänger-Themen 2
R Auf Nachkommastellen prüfen. Java Basics - Anfänger-Themen 2
P Argumente auf plausibilität prüfen... Java Basics - Anfänger-Themen 8
F LimitedQueue auf Datum prüfen Java Basics - Anfänger-Themen 6
B Passwort prüfen bis eindeutig - while Schleife? Java Basics - Anfänger-Themen 11
Tommy Nightmare Variable auf mehrere Ungleichheiten prüfen Java Basics - Anfänger-Themen 18
B String mit Emailadresse prüfen Java Basics - Anfänger-Themen 11
E 2D Arrays auf Ungleichheit prüfen! Java Basics - Anfänger-Themen 5
MrSnake Prüfen ob TitledPane schon besteht Java Basics - Anfänger-Themen 2
B Serial Key prüfen -> String mit privatem Key und dann abgleichen; Summe = 0 Java Basics - Anfänger-Themen 8
N Compiler-Fehler Iban prüfen Java Basics - Anfänger-Themen 7
J Prüfen ob Arrays nur mit einem Wert belegt sind Java Basics - Anfänger-Themen 3
M String prüfen Java Basics - Anfänger-Themen 7
E Prüfen ob Sammlung gesetzt wurde - Lebensmittelsammlung Java Basics - Anfänger-Themen 8
H Zufällig generierte Zahlen auf Eingabe prüfen Java Basics - Anfänger-Themen 5
S Prüfen ob bestimmter Ordner geöffnet ist (Windows XP) Java Basics - Anfänger-Themen 5
Ruvok Prüfen ob bestimmtest Element existiert im Array Java Basics - Anfänger-Themen 11
DeVolt Java8 Paket Time: Datum prüfen / try-catch Java Basics - Anfänger-Themen 1
W char-Array auf bestimmte Zeichen prüfen Java Basics - Anfänger-Themen 10
S String auf Pallindromeigenschaft prüfen Java Basics - Anfänger-Themen 15
AssELAss Datums-Objekt prüfen ob im gleichen Monat? Java Basics - Anfänger-Themen 5
Screen Input/Output Wie prüfen ob Stream1 in Stream2 enthalten ist (on-the-fly) ? Java Basics - Anfänger-Themen 5
P Seite auf Inhalt prüfen Java Basics - Anfänger-Themen 2
I Prüfen ob Webseite existiert Java Basics - Anfänger-Themen 3
G Textdatei auf Dubletten prüfen Java Basics - Anfänger-Themen 8
I Prüfen von zwei Listen Java Basics - Anfänger-Themen 1
K zwei Rechtecke auf Berührung prüfen Java Basics - Anfänger-Themen 2
G String auf Format prüfen Java Basics - Anfänger-Themen 3
J Eingabewert übergeben und prüfen von showInputDialog Java Basics - Anfänger-Themen 4
L 6stellige Zufallszahlen erzeugen & auf einzigartigkeit prüfen Java Basics - Anfänger-Themen 3
S Array befüllen & auf doppelte werte prüfen Java Basics - Anfänger-Themen 6
M Prüfen, ob Zeichen eine Zahl ist Java Basics - Anfänger-Themen 3
M Punkt auf eine Farbe prüfen Java Basics - Anfänger-Themen 8
C Datentypen Prüfen of eine Zahl Quadratzahl ist Java Basics - Anfänger-Themen 2
K Eindimensionalen Array prüfen Java Basics - Anfänger-Themen 5
M Konstruktor auf null prüfen, Arrays Java Basics - Anfänger-Themen 9
O Prüfen ob ein String den selben Namen hat wie eine Booleanreihe? Java Basics - Anfänger-Themen 17
J Arrays prüfen und über if Bedingung ausgeben Java Basics - Anfänger-Themen 15
B Interface Generics: prüfen ob Interface deklariert wird Java Basics - Anfänger-Themen 18
L Erste Schritte Einträge in ArrayList prüfen Java Basics - Anfänger-Themen 4
S OOP long prüfen Java Basics - Anfänger-Themen 5
H Prüfen, ob jpg image schon vorhanden ist, bevor es geladen wird Java Basics - Anfänger-Themen 13
L Eine ArrayList auf gleiche Inhalte prüfen Java Basics - Anfänger-Themen 10
Rayo Eingelesene Ascii Zahlen wie normale Zahlen prüfen Java Basics - Anfänger-Themen 4
K HashMap auf leere Key-Value-Paare prüfen Java Basics - Anfänger-Themen 14
N Prüfen ob Objekt existiert Java Basics - Anfänger-Themen 6
I Mehrere ArrayLists mit einer for( : ) Schleife auf Inhalt prüfen Java Basics - Anfänger-Themen 6
A Prüfen ob Datei existiert Java Basics - Anfänger-Themen 9
G Verfügbare Clients prüfen ohne ping Java Basics - Anfänger-Themen 12
P JSP Werte übergeben und prüfen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben