keine buchstaben!nur zahlen eingabe möglich

tanzverfuehrung

Bekanntes Mitglied
also ich habe eine klasse

Java:
public class MsecPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {


und die hat eine Methode, die die Preferences erstellt, das man die Position ändern kann. das geht auch alles soweit

Java:
@Override
	protected void createFieldEditors() {
		addField(new StringFieldEditor(LONGITUDE, " Breitengrad(Longitude):", getFieldEditorParent()));
		addField(new StringFieldEditor(LATITUDE, "Längengrad(Latitude):", getFieldEditorParent()));
	
	}

jetzt muss ich aber noch prüfen, das es keine buchstaben sind.
also das man nur zahlen eingeben kann für die Position(breitengrad & längengrad)
ich habe aber kein plan wie ich das abprüfen soll!
kann mir jemand helfen?:bahnhof:
 

nrg

Top Contributor
definiere "zahlen". bei ganzzahlen ist das sehr einfach mit regez zu lösen. bei gleitkommazahlen zwar auch aber da kann die regex schon etwas langer werden ;). vllt ist es dort einfacher die NumberFormatException zu catchen (obwohl das eigentlich eine zweckentfremdung von Exceptions ist).
 

.Domii

Bekanntes Mitglied
überprüfung mit contains^^

Java:
boolean letter = false;
...
...
...
for(int i; i < 26; i++){
    if(String.contains(""+((char)(65+i)))){
        letter = true;
    }
}

würd glaub ich klappen :p

aber mit Regex natürlich schöner ^.^
 
Zuletzt bearbeitet:
G

Gonzo17

Gast
Ja, mit regulären Ausdrücken kann man so etwas sehr gut abfragen.

@Vorredner
Das ist quatsch, deine Methode würde nur anzeigen, ob eine Zahl vorhanden ist. Dass da auch ein Buchstabe drin sein kann, hast du nicht bedacht bei deiner Abfrage.
 

.Domii

Bekanntes Mitglied
xD so geändert ;] hab mich verlesen dachte er will die Zahlen rausfiltert

--> editiert

zählt von 65 (laut ASCII code --> A) die ganzen Buchstaben hoch :]
 
Zuletzt bearbeitet:

XHelp

Top Contributor
@Domii, ist aber immer noch falsch. Da überprüfst du, ob irgendwo mindestens ein Buchstabe da ist.
Außerdem kannst du auch:
Code:
for (int i='A';i<='Z';i++)
schreiben
 

jgh

Top Contributor
ich würde einfach ne NFE schmeißen...da es sich ja wahrscheinlich um user eingaben handelt?

also einfach irgendwie so eine Methode aufrufen:
Java:
boolean isDouble(String s) {

		// evtl vorher noch Kommata als Trenner gegen Punkte ändern
		String string = s.replace(",", ".");
		try {
			Double.parseDouble(string);
		} catch (NumberFormatException nfe) {
			// was auch immer du da machen willst
			return false;
		}
		return true;
	}
 

.Domii

Bekanntes Mitglied
ja weil sobald ein Buchstabe vorhanden ist --> letter = true^^ von danach kann er überprüfen

Java:
if(letter=true){
//behandlung
}

er möchte doch wissen ob irgendwo ein Buchstabe vorkommt? o_O

@Vorposter
Exceptions sind nicht dazu da um die Programmlogik aufzubauen..
 

nrg

Top Contributor
also ich wäre mit replaces aufgrund von 1000er-Trennzeichen immer sehr vorsichtig. ansonsten wäre das (wobei man vllt gleich die NumberFormatException nehmen sollte) wohl eine 100% sichere und sehr einfache Lösung, wenn auch etwas zweckentfremdend für Exceptions.
 

jgh

Top Contributor
@ Zwischenposter ;)
Der Zweck heiligt die Mittel...

siehe auch nrg´s Beitrag:
vllt ist es dort einfacher die NumberFormatException zu catchen (obwohl das eigentlich eine zweckentfremdung von Exceptions ist).
 

nrg

Top Contributor
@ Domii: das würde man dann eher so machen:
Java:
	public boolean numbersOnly(String s) {
		return s.matches("[0-9]+");
	}


@Vorposter
Exceptions sind nicht dazu da um die Programmlogik aufzubauen..

hatte ich doch schon 2x gesagt aber hier ist es einfach und fehlerunanfällig. das ist dann auf jedenfall besser als es selbst in die hand zu nehmen und es kommt sowas wie bei dir raus (nicht übel nehmen :))
edit: wobei das vermutlich nicht auf mich bezogen war ;)
 

XHelp

Top Contributor
@Domii, ja, im Text stand "keine Buchstaben", aber ich vermute mal, dass es "nichts anderes als Zahlen" heißen soll.
Dein Code würde ja z.B. "&%§/(&/(§"%§&"" akzeptieren. Außerdem filtert dein Code jetzt A-Z... was ist denn mit a-z?
 

tanzverfuehrung

Bekanntes Mitglied
@Domii, ja, im Text stand "keine Buchstaben", aber ich vermute mal, dass es "nichts anderes als Zahlen" heißen soll.
Dein Code würde ja z.B. "&%§/(&/(§"%§&"" akzeptieren. Außerdem filtert dein Code jetzt A-Z... was ist denn mit a-z?


ja ..."nichts anderes als zahlen"!!!
ist ja logisch bei position,aber sorry das ich mich falsch ausgedrückt habe.
 
G

Gonzo17

Gast
Also, wie schon gesagt wurde, das überprüfen, ob da jetzt ein bestimmtes Zeichen kommt per for-Schleife, ist eigentlich viel zu aufwändig. Denn irgendein Zeichen vergisst man, wieso also nicht per regulärem Ausdruck? Da sagst du, was erlaubt ist und gut ist. nrg's Lösung sieht doch schon in Ordnung aus, für Ganzzahlen klappt das, für alles Weitere muss man eben ein bisschen nachdenken und den regulären Ausdruck erweitern.
 
B

bone2

Gast
einfach parsen und exception catchen. man geht j davon aus, das das richtige eingebene wird, also ist eine exception im fehlerfall angemessen

das ganze vorher überprüfen kostet sinnlose rechenzeit

es fehlt ein bischen drumherrum, wie du das umsetzt/was passiert aber so in etwa:
Java:
 edit: falsche vorraussetzungen, siehe s2
 
Zuletzt bearbeitet von einem Moderator:

tanzverfuehrung

Bekanntes Mitglied
Java:
	@Override
	protected void createFieldEditors() {
		addField(new StringFieldEditor(LONGITUDE, " Breitengrad(Longitude):", getFieldEditorParent()));
		numbersOnly(LONGITUDE);
		addField(new StringFieldEditor(LATITUDE, "Längengrad(Latitude):", getFieldEditorParent()));
		numbersOnly(LATITUDE);
	}
	
	
	public boolean numbersOnly(String s) {
        if(s.matches("[0-9]+")== false){
        setErrorMessage("Die Position kann keine Buchstaben enthalten.");
        return false;}
		return true;
    }
}




wieso geht das jetzt nicht???
 

RySa

Bekanntes Mitglied
Also ich weiß gar nicht warum ihr hier mit Regex, und sonst was ankommt. Ich benutze selber gerne Regex, aber Leute, es sind doch User-Eingaben. Da ist doch das erste was auf die Zunge kommt "Exception abfangen"...Versuch doch mal einfach die Eingabe zu einer Zahl zu casten (Double.valueOf(String).doubleValue()) und fang die NumberFormatException bzw. die ArithmeticException im Falle das es nicht geht...wozu die ganzen Regex hier...

EDIT: Mach doch einfach:
Java:
    @Override
    protected void createFieldEditors() {
        addField(new StringFieldEditor(LONGITUDE, " Breitengrad(Longitude):", getFieldEditorParent()));
        numbersOnly(LONGITUDE);
        addField(new StringFieldEditor(LATITUDE, "Längengrad(Latitude):", getFieldEditorParent()));
        numbersOnly(LATITUDE);
    }
    
    
    public boolean numbersOnly(String s) {
        try{
          double d = Double.valueOf(s).doubleValue();
          return true;
        }
        catch(NumberFormatException ex){
           return false;
        }
        catch(ArithmeticException ex){
          return false;
        }
    }
 
Zuletzt bearbeitet:

tanzverfuehrung

Bekanntes Mitglied
Java:
@Override
	protected void createFieldEditors() {
		addField(new StringFieldEditor(LONGITUDE, " Breitengrad(Longitude):", getFieldEditorParent()));
		if(numbersOnly(LONGITUDE) == false){
			 setErrorMessage("Die Position kann keine Buchstaben enthalten.");
		}
		addField(new StringFieldEditor(LATITUDE, "Längengrad(Latitude):", getFieldEditorParent()));
		if(numbersOnly(LATITUDE) ==true){
			 setErrorMessage("Die Position kann keine Buchstaben enthalten.");
		}
	}
	
	
	public boolean numbersOnly(String s) {
        if(s.matches("[0-9]+")== false)
        return false;
		return true;
    }
und so funktioniert das auch nicht???WHY?:rtfm:
 

truesoul

Top Contributor
Hmmm, wieso alles im try-catch block machen?
Einfach mit regulären Ausdruck machen und gut ist.
z.B
Java:
String wertA = "234";
System.out.println(wartA.matches("(\\d+.\\d+|\\d+)")); // True

String wertB = "234.00";
System.out.println(wartB.matches("(\\d+.\\d+|\\d+)")); // True

String wertC = "234.0a";
System.out.println(wartC.matches("(\\d+.\\d+|\\d+)")); // False


String wertD = "s234.00";
System.out.println(wartD.matches("(\\d+.\\d+|\\d+)")); // False


String wertE = ".234.00";
System.out.println(wertE .matches("(\\d+.\\d+|\\d+)")); // False

private boolean isCorrectNumber(String value){
      return value.matches("(\\d+.\\d+|\\d+)");
}
boolean correct = isCorrectNumber("234");

if(correct){
    // Ist eine Zahl/Nummer
}else{
   // Errormessage
}

Und dann einfach mit If-Else lösen?
Bevor hier noch mehr Haarsträubende Idee aufkommen.
 
Zuletzt bearbeitet:
B

bone2

Gast
@rysa, dein edit ist sinnfrei, du wertest den boolean nirgends aus

@truesoul weil man davon ausgeht, das das richtige eingeben wurde und das vorher überprüfen damit vergeudete rechenzeit ist

Java:
        @Override
        protected void createFieldEditors() {
            try {
                double longi = Double.parseDouble(LONGITUDE);
                double latit = Double.parseDouble(LATITUDE);

                addField(new StringFieldEditor(longi, " Breitengrad(Longitude):", getFieldEditorParent()));
                addField(new StringFieldEditor(latit, "Längengrad(Latitude):", getFieldEditorParent()));

            }
            catch (NumberFormatException nfe) {
                System.out.println("fehler, nur zahlen eingeben");
            }
        }
 

RySa

Bekanntes Mitglied
Hmmm, wieso alles im try-catch block machen?
Einfach mit regulären Ausdruck machen und gut ist.
z.B
Java:
String wertA = "234";
System.out.println(wartA.matches("(\\d+.\\d+|\\d+)")); // True

String wertB = "234.00";
System.out.println(wartB.matches("(\\d+.\\d+|\\d+)")); // True

String wertC = "234.0a";
System.out.println(wartC.matches("(\\d+.\\d+|\\d+)")); // False


String wertD = "s234.00";
System.out.println(wartD.matches("(\\d+.\\d+|\\d+)")); // False


String wertE = ".234.00";
System.out.println(wertE .matches("(\\d+.\\d+|\\d+)")); // False

Und dann einfach mit If-Else lösen?
Bevor hier noch mehr Haarsträubende Idee aufkommen.

Also wenn du hier schon als blutiger Regex-Freund ankommst und am liebsten alles mit Regex lösen würdest, dann bau doch auch ein richtiges "(\\d+.?d*)"

EDIT: @bone2

Das war sein Beispiel, ich habe es einfach nur kopiert, und statt Regex das try, catch Block eingefügt, was der da sonnst überprüft oder auch nicht überprüft, ist doch seine Sache...
 

truesoul

Top Contributor
Also wenn du hier schon als blutiger Regex-Freund und am liebsten alles mit Regex lösen würdest, dann bau doch auch ein richtiges "(\\d+.?d*)"

Was ist denn an mein Regex falsch?
Dein Ausdruck bei z.B 12.23 false liefert?
Wenn schon dann "(\\d+.?\\d*)". ( Ok hast du im nachhinein geändert )
 
Zuletzt bearbeitet:
B

bone2

Gast
:D

@tanzverfuehrung übrigends vergleicht man üblicherweise im if statement nicht mit false oder true, man verwendet boolean direkt

Java:
        if(numbersOnly(LATITUDE)){
             foo();
        }

        if(! numbersOnly(LATITUDE)){
             foo2();
        }

    }
    
    
    public boolean numbersOnly(String s) {
        return s.matches("[0-9]+");
    }
 

tanzverfuehrung

Bekanntes Mitglied
Also ich weiß gar nicht warum ihr hier mit Regex, und sonst was ankommt. Ich benutze selber gerne Regex, aber Leute, es sind doch User-Eingaben. Da ist doch das erste was auf die Zunge kommt "Exception abfangen"...Versuch doch mal einfach die Eingabe zu einer Zahl zu casten (Double.valueOf(String).doubleValue()) und fang die NumberFormatException bzw. die ArithmeticException im Falle das es nicht geht...wozu die ganzen Regex hier...

ich habe es jetzt mal so probiert
Java:
    @Override
    protected void createFieldEditors() {
        addField(new StringFieldEditor(LONGITUDE, " Breitengrad(Longitude):", getFieldEditorParent()));
        numbersOnly(LONGITUDE);
        addField(new StringFieldEditor(LATITUDE, "Längengrad(Latitude):", getFieldEditorParent()));
        numbersOnly(LATITUDE);
    }
    
    
    public boolean numbersOnly(String s) {
        try{
          double d = Double.valueOf(s).doubleValue();
          return true;
        }
        catch(NumberFormatException ex){
setErrorMessage("Die Position kann keine Buchstaben enthalten.");
           return false;
        }
        catch(ArithmeticException ex){
setErrorMessage("Die Position kann keine Buchstaben enthalten.");
          return false;
        }
    }


ABER

das ding ist ja bloß, das ich keine exception haben will sondern eine error message ausgeben bekommen will
so das ich garnicht ok und apply in meiner preferences page drücken kann,wenn ich buchstben für eine position angeben habe.!!!
 

RySa

Bekanntes Mitglied
Ich würd es noch anders machen (wegen der deutschen Kommazahlen) : "(\\d+(.|,)?\\d*)" .

Ja, deins funktioniert (bis auf die Kommas statt Punkte) auch, und es "führt auch nach Rom" aber von Deutschland nach Italien über Sibirien zu fahren ist nicht das günstigste :) So etwas würde auch funktionieren : "(([1234]|[567890])+.([1234]|[567890])*|([1234]|[567890])+)" - (also hoffe ich mal, ist mir zu unübersichtlich ^^) Man sollte es aber doch lieber so kurz machen wie es geht, findest du nicht ?

@bone2
Java:
if(numbersOnly(LATITUDE)){
             foo();
        }
 
        if(! numbersOnly(LATITUDE)){
             foo2();
        }
 
    }
    
    
    public boolean numbersOnly(String s) {
        return s.matches("[0-9]+");
    }

Wird schon bei 1.5 oder 1,5 nicht funktionieren (es sei dem, Kommazahlen sind nicht erlaubt)
 
Zuletzt bearbeitet:
B

bone2

Gast
Zuletzt bearbeitet von einem Moderator:

tanzverfuehrung

Bekanntes Mitglied
@rysa, dein edit ist sinnfrei, du wertest den boolean nirgends aus

@truesoul weil man davon ausgeht, das das richtige eingeben wurde und das vorher überprüfen damit vergeudete rechenzeit ist

Java:
        @Override
        protected void createFieldEditors() {
            try {
                double longi = Double.parseDouble(LONGITUDE);
                double latit = Double.parseDouble(LATITUDE);

                addField(new StringFieldEditor(longi, " Breitengrad(Longitude):", getFieldEditorParent()));
                addField(new StringFieldEditor(latit, "Längengrad(Latitude):", getFieldEditorParent()));

            }
            catch (NumberFormatException nfe) {
                System.out.println("fehler, nur zahlen eingeben");
            }
        }


das ding ist nur das es zwei konstanten sind... string konstanten,
werden in einer anderen Klasse so definiert
Java:
public static final String LATITUDE = "Latitude";
	public static final String LONGITUDE = "Longitude";


Fehlermelduing:The constructor StringFieldEditor(double, String, Composite) is undefined

weil longi ein String sein muss, ist aber ein dozble????????????

Java:
 addField(new StringFieldEditor(longi, " Breitengrad(Longitude):", getFieldEditorParent()));
 
B

bone2

Gast
dann machs wieder zum string, uns fehlt ein wenig das drum-her-rum, das hast du uns ja nicht gepostet^^

Code:
String.valueOf(d)


ER ist eine SIE!!!
uh verzeihung :oops: ihr seid hier so selten


edit: ich hab den stillen verdacht, das der gesamte thread bis hierher sinnlos war... kann es sein, das du da 2 editfelder erstellst, in die nur zahlen eingegeben werden sollen? du hast zur zeit der ausführung der methode noch garkeine eingebenen werte oder?
 
Zuletzt bearbeitet von einem Moderator:

RySa

Bekanntes Mitglied
Also irgendwie wird mir hier langsam klar, warum es auch so wenige "von denen" gibt. Jeder Post von dir, ändert deine gesamten Anforderungen. Du kannst dich nicht klar ausdrücken was du haben willst und erwartest, dass es alle einfach so mal wissen (typisch...) Ich weiß gar net mehr was du überhaupt haben willst. Du sagst es sind staatische Felder. Willst du jetzt überprüfen ob deine eigenen staatischen Felder keine Zahlen sind oder was ? o_O Oder sind es jetzt User-eingaben, die gecheckt werden müssen. Sag doch mal endlich klar und deutlich was du überhaupt willst, und hör auf ständig "zu schreien", diese Caps-Locks und !!! überall kommen mir so vor als ob du schon rot vor Wut wärst, die Haare alle durcheinander und kurz davor bist, dein Bildschirm aus dem Fenster zu schmeißen...

Das Thema des Threads heißt "keine buchstaben!nur zahlen eingabe möglich", und das sagst du auch zuerst. Jetzt brauchst du plötzlich Strings und nicht doubles/ints. Außerdem überprüfst du deine eigenen staatischen Felder o_O....jetzt werd' ich hier mal sexistisch aber...logisches denken ?
 
Zuletzt bearbeitet:

tanzverfuehrung

Bekanntes Mitglied
also freunde...ich habe alles von euch ausprobiert und funktioniert immer noch nicht wirklich(vorschlag von: bon2 und truesoul)
es tut mir leid wenn ich mich nicht richtig ausgedrückt habe aber dachte habt es verstanden
also nochmal mein PROBLEM!
ausführlich!


ich habe ein Programm wo eine OSM (open street map)geladen wird, in diesem Programm habe ich eine Preferences Page
wo ich den tile Server und den Bild Server ändern kann(für die geladene map)(per hand)...das funktioniert alles...und da teste ich auch vorher ob die url stimmt und wenn nicht bekomme ich eine error message
(error message,damit meine ich ,KEINE EXCEPTION sondern das eine message auf meine prefernce page, wo ich die eigenschaften ändern kann, bekomme, wo steht"url ungültig" und ich nicht mal auf "apply" oder "ok" drücken kann, erst wenn ich eine richtige url eingegebn habe.)
und jetzt wolle ich zu der Preferences Page noch hinzufügen, das man die Position (Center der MAp) ändern kann.die breiten und längengrad
das funktioniert auch in meinem programm schon
nun will ich einfach nur noch testen,,, ob es wirklich NUR zahlen sind.
und wenn da irgendwo buchstaben oder irgendwelche zeichen sind(diese position gibt es ja nicht), soll es mir eine error message (in der Preferences Page)geben und ich kann wieder nicht "apply" oder "ok" drücken(wie bei der url prüfung).so was ja auch nicht schwer ist

setErrorMessage("Die Position kann keine Buchstaben enthalten.");

aber erstmal die richtig prüfung zu finden...grad irgendwie habt ihr mich alle sehr verwirrt...
der eine sagt regex, der andere aufkeinfall regex

also ich kann per hand dann in meinem programm die Position ändern!

jetzt verständlich!
 
G

Gonzo17

Gast
Java:
	public static void main(String[] args) {
		int longitude, latitude;
		Scanner scan = new Scanner(System.in);
		System.out.println("Bitte geben Sie die folgenden Werte an.");
		System.out.print("Breitengrad(Longitude): ");
		String  nextValue = scan.next();
		if (numbersOnly(nextValue)) {
			longitude = Integer.valueOf(nextValue);
		} else {
			System.out.println("Der angegebene Wert ist keine Zahl!");
			return;
		}
		
		System.out.print("Längengrad(Latitude): ");
		nextValue = scan.next();
		if (numbersOnly(nextValue)) {
			latitude = Integer.valueOf(nextValue);
		} else {
			System.out.println("Der angegebene Wert ist keine Zahl!");
			return;
		}	
		// Ab jetzt kann man mit den Werten arbeiten
	}

	static boolean numbersOnly(String s) {
		return s.matches("[0-9]+");
	}

Hier ein Beispiel mit einem regulären Ausdruck, der nur Ganzzahlen prüft. Habe die Methode von nrg geklaut, ich hoffe er steinigt mich dafür nicht. Dieser reguläre Ausdruck ist beliebig erweiterbar, sodass du eben auch andere Werte akzeptieren kannst.
ABER, auch ganz klar, an der Stelle
Code:
Integer.valueOf
wird ohnehin eine Exception geworfen, wenn deine Eingabe falsch ist. Das heißt in DIESEM Fall wäre es möglich, dass du einfach nur die Exception abfängst und sie eben nicht durchlässt, sondern einen Error setzt. Das ist auf jeden Fall möglich und das haben hier ja verschiedene Leute auch schon gepostet. Ich persönlich denke jedoch, dass es ALLGEMEIN sinnvoller ist, wenn man das über reguläre Ausdrücke regelt, denn was machst du, wenn dir die Abfrage mal nicht abgenommen wird? Ja richtig, dann brauchst du selbst eine Abfrage. In diesem Fall wird dir das eben abgenommen, aber in vielen andern Fällen wäre das nicht so. Insofern sind beide Varianten möglich und keine ist "falsch", ein regulärer Ausdruck wäre höchstens sowas wie "doppelt gemoppelt". ;)
 

RySa

Bekanntes Mitglied
das ding ist nur das es zwei konstanten sind... string konstanten,
werden in einer anderen Klasse so definiert

Java:
public static final String LATITUDE = "Latitude";
    public static final String LONGITUDE = "Longitude";

Und wieso soll man bitte schön static final Variablen drauf überprüfen, ob sie Buchstaben enthalten, wenn die IMMER aus Buchstaben bestehen ?

numbersOnly(LATITUDE);
Da Wird doch wohl eine static final Variable, die du kennst, überprüft.
Bin ich zu blöd oder hast du da etwas falsch in der Logik ?
 

truesoul

Top Contributor
Hmm, warum sollte von RySa oder meine Variante nicht funktionieren?
Es sind entweder nur Ganzzahlen oder Gleitkommazahlen erlaubt, alles andere gibt false zurück?
Ein 12.00 gibt true zurück wo ein 12.aa false zurück gibt?
Mit dem den Ausdrücken text.matches("(\\d+(.|,)?\\d*)") oder text.matches("(\\d+(.|,)\\d+|\\d+)") sollte es ohne Probleme klappen?

Natürlich muss man noch prüfen ob die Zahl keine Ungültige Zahl ist ( z.B zu Groß ).
 
N

nillehammer

Gast
Das hängt von Deiner Umgebung ab,

Wenn Du es von Hand programmieren möchtest, ruf Integer.parseInt auf, fang die Exception, die fliegt, wenn es keine gültige Zahl ist und zeige eine lesbare Fehlermeldung an. Wenn Deine Oberfläche in Swing ist, könntest Du mittels eines Formatted Textfield die eingebbaren Werte direkt auf Zahlen einschränken: How to Use Formatted Text Fields (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components)

// Edit: Ach ja, Längen- und Breitengrade können ja Fließkommazahlen sein, dann eben Float.parseFloat
 
Zuletzt bearbeitet von einem Moderator:

tanzverfuehrung

Bekanntes Mitglied
Und wieso soll man bitte schön static final Variablen drauf überprüfen, ob sie Buchstaben enthalten, wenn die IMMER aus Buchstaben bestehen ?


Da Wird doch wohl eine static final Variable, die du kennst, überprüft.
Bin ich zu blöd oder hast du da etwas falsch in der Logik ?


das ist nur sozusagen die ID...
und ich setzte einen default wer ,in der gleichen klasse wo auch die konstanten erstellt werden
Java:
	store.setDefault(LONGITUDE, 13.629656);
		store.setDefault(LATITUDE, 52.329071);

also es hat float werte, aber damit ich weiß was sich ändert,brauche ich ja eine id und das sind die konstanten;)


mache jetzt erstmal pause...hoffentlich verstehe ich danach es endlich und werde es nochmal versuchen.!

...
werde euch berichten...^^
:rtfm:


ich DANKE euch allen trozdem ALLEN schonmal, für eure hilfe;)
 
L

Louisa2011

Gast
Also irgendwie wird mir hier langsam klar, warum es auch so wenige "von denen" gibt. Jeder Post von dir, ändert deine gesamten Anforderungen. Du kannst dich nicht klar ausdrücken was du haben willst und erwartest, dass es alle einfach so mal wissen (typisch...) Ich weiß gar net mehr was du überhaupt haben willst. Du sagst es sind staatische Felder. Willst du jetzt überprüfen ob deine eigenen staatischen Felder keine Zahlen sind oder was ? o_O Oder sind es jetzt User-eingaben, die gecheckt werden müssen. Sag doch mal endlich klar und deutlich was du überhaupt willst, und hör auf ständig "zu schreien", diese Caps-Locks und !!! überall kommen mir so vor als ob du schon rot vor Wut wärst, die Haare alle durcheinander und kurz davor bist, dein Bildschirm aus dem Fenster zu schmeißen...

Das Thema des Threads heißt "keine buchstaben!nur zahlen eingabe möglich", und das sagst du auch zuerst. Jetzt brauchst du plötzlich Strings und nicht doubles/ints. Außerdem überprüfst du deine eigenen staatischen Felder o_O....jetzt werd' ich hier mal sexistisch aber...logisches denken ?
(Hervorhebungen von mir.)

Ich stimme insoweit zu, dass tanzverführung sich nicht besonders deutlich ausdrückt in dem, was sie will, und dass auf "Wieso funzt das nicht"-Beiträge in Caps-Lock sicher verzichtet werden kann. Aber inwiefern sind die genannten Probleme bezüglich der Kommunikation "typisch" weiblich? Das kann ich nicht nachvollziehen.
Wenn man einmal schaut, wie viele (vermutlich größtenteils männliche) User in dieses Forum kommen und Beiträge verfassen, bei denen sich einem die Haare aufstellen vor Unleserlichkeit und Unverständlichkeit und bei denen sich niemand hier großartig aufregt oder es zumindest nicht auf das Geschlecht des Fragestellers zurückführt - dann frage ich mich, warum ausgerechnet bei der Bewertung von tanzverführungs Beiträgen relevant sein soll, dass sie eine Frau ist?
 

RySa

Bekanntes Mitglied
Ekhm, das ändert aber nichts daran, dass du die static final Variable, der Methode übergeben hast, die überprüfen soll, ob es nur Zahlen sind, und nicht die eigentliche eingabe. Zitat?(achte auf Kommentare):
Java:
    @Override
    protected void createFieldEditors() {
        addField(new StringFieldEditor(LONGITUDE, " Breitengrad(Longitude):", getFieldEditorParent()));
        numbersOnly(LONGITUDE); // <--------Überprüfst deine static final Variable, die ja ein String mit Buchstaben ist
        addField(new StringFieldEditor(LATITUDE, "Längengrad(Latitude):", getFieldEditorParent()));
        numbersOnly(LATITUDE); // <-----------Hier das gleiche
    }
    
    
    public boolean numbersOnly(String s) {
        try{
          double d = Double.valueOf(s).doubleValue();
          return true;
        }
        catch(NumberFormatException ex){
setErrorMessage("Die Position kann keine Buchstaben enthalten.");
           return false;
        }
        catch(ArithmeticException ex){
setErrorMessage("Die Position kann keine Buchstaben enthalten.");
          return false;
        }
    }

Da kann es doch wohl nur die exception schmeißen...

EDIT:
@Louisa2011

Da war ich wohl vielleicht bisschen aufgeregt, da sich die Anforderungen nach jedem Post geändert haben und ich sollte es mir vielleicht verkneifen. Ich stehe trotzdem dazu, es ist aber meine persönliche Erfahrung. Habe es bei vielen Frauen beobachtet und bin jetzt auch in einer festen Beziehung seit über 3 Jahren. Frauen können/wollen nicht genau sagen, was sie wollen/erwarten, erwarten aber dafür von allen (besonders von ihren Freunden/Verlobten/Ehemännern), dass sie doch wissen sollten, worum es geht und was sie haben möchten. Mag sein, dass ich dann vielleicht wohl "Pech" bei der Auswahl hatte, da kann ich aber jetzt nichts für. Daher kann meine Meinung eher Objektiv als subjektiv sein. Falls jemand meint, dass er nicht so wäre und sich somit durch meinen Beitrag beleidigt/ungerecht behandelt fühlt, dann bitte ich um Entschuldigung (ist jetzt nicht der Sinn und Zweck des Forums und vor allem des Thread, sich darüber zu streiten wie es ist, ich denke aber ich habe das Recht meine Meinung zu äußern, solange ich es auch nur als meine Meinung bezeichne) :)

Ps. Und ja, da sind zig Posts auf diesem Forum, die noch weniger Informationen über das Problem enthalten und wo die TO's noch mehr "Hellsehen" erwarten. Ich denke diese Posts sollten dann aber auch nicht als Maßstab angesehen werden, nach dem sich die anderen richten, nach dem Motto "Mein Post ist gar nicht so schlimm, es gibt schlimmeres", weil analog dazu könnte ein Täter sagen "Dass ich eine Person getötet habe ist nicht so schlimm, es gibt Mörder die über 10 Menschen umgebracht haben" :) (der Vergleich vlt etwas übertrieben, ist aber das gleiche Prinzip, finde ich :p )
 
Zuletzt bearbeitet:

tanzverfuehrung

Bekanntes Mitglied
zu Louisa2011 und RySa will ich nur kurz sagen, eventuell liegt es ja auch an der männer welt, das sie einfach nicht so schnell verstehen!!!^^ich fande meine erklärung gut und habe sie verstanden
MUHAHAHAHAAAAAAA:eek::D:D:D:D

ihr männer denkt wahrscheinlich einfach ganz anders!:shock:
:noe::lol:


und das problem habe ich auch gelöst aber GANZ ANDERS:D

es gibt eine Klasse IntegerFieldEditor die von StringFieldEditor erbt!
habe mir genau so eine Klasse gemacht bloß mit float werten
also alle int werte mit float werten umgetauscht!
uund meine Klasse erbt natülcih auch von StringFieldEditor

somit macht die Klasse alles,was ich wollte:D

DANKE trozdem für alle antworten und überlegungen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
krgewb Keine richtige Doku Java Basics - Anfänger-Themen 5
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
G Endlosschleife keine Rückgabe Java Basics - Anfänger-Themen 36
Nooobi Regex und .matches() geben keine Ausnahme Java Basics - Anfänger-Themen 10
berserkerdq2 Warum ist das keine Referenzkopie mehr? Java Basics - Anfänger-Themen 26
O Java 17 keine Pflicht um Exceptiones zu behandeln? Java Basics - Anfänger-Themen 2
nbergmann Installation unter jdk.java.net: Keine ZIP-Datei zum entpacken Java Basics - Anfänger-Themen 2
M Eclipse kennt keine String Klasse mehr Java Basics - Anfänger-Themen 1
K Erste Schritte "Taschenrechner" zeigt keine Komma Zahlen an. Java Basics - Anfänger-Themen 8
M Keine Ausführung von System.out.println() Java Basics - Anfänger-Themen 3
H Warum kann man keine Parameter in die main-Methode packen? Java Basics - Anfänger-Themen 4
B Nach eingefügtem Code erkennt Compiler keine Instanzvar und meldet SyntaxError Java Basics - Anfänger-Themen 2
A keine Ergebnisse - String nummer in array nummer converting Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
B Ich kann keine Hühner töten Java Basics - Anfänger-Themen 49
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
I Regex findet keine Treffer Java Basics - Anfänger-Themen 4
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
T Bei mir wird keine javac angezeigt sondern nur javacpl Java Basics - Anfänger-Themen 2
R Keine Verbindung mit MariaDB Java Basics - Anfänger-Themen 18
O Input/Output newbile und keine Ahnung! Java Basics - Anfänger-Themen 16
S Kann keine Bilder laden? Java Basics - Anfänger-Themen 9
C Problem: PC ohne Internet und keine Möglichkeit Programme zu laden Java Basics - Anfänger-Themen 5
Bun17 Keine Ausgabe in der Konsole Java Basics - Anfänger-Themen 2
R Keine Verbindung zu MySql über Netbeans Java Basics - Anfänger-Themen 15
D jsoup.select findet keine elemente Java Basics - Anfänger-Themen 2
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
W Was bedeutet im Struktogramm „zufall“ aufrufen (keine Parameterübergabe)? Java Basics - Anfänger-Themen 8
T Keine Ahnung vom Programieren Java Basics - Anfänger-Themen 28
A SelectionSort bringt keine konstanten Ergebnisse Java Basics - Anfänger-Themen 4
J RPN Taschenrechner - keine Lösung!! Java Basics - Anfänger-Themen 84
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
C Keine javac.exe in bin-Datei Java Basics - Anfänger-Themen 3
A Vollkommene Zahlen: Findet keine Einzige Java Basics - Anfänger-Themen 9
J Input/Output javac HelloWorld.java - Keine Textausgabe in der Konsole Java Basics - Anfänger-Themen 4
H JDK installieren keine Installationsroutine bei Javainstallation sichtbar Java Basics - Anfänger-Themen 4
H Buttons zeigen keine Reaktion Java Basics - Anfänger-Themen 6
I Programm von mir - keine Ahnung mehr ob richtig falsch:-( Java Basics - Anfänger-Themen 6
D Datentypen Datentyperstellung | Kompiler sagt Syntax Error doch ich find keine Lösung Java Basics - Anfänger-Themen 2
snipesss IDE zeigt keine Fehler an, Programm wird jedoch nicht ausgeführt. Java Basics - Anfänger-Themen 18
Khorgoroth Erste Schritte Keine Ausgabe Java Basics - Anfänger-Themen 2
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
Z AWT package -> keine Konsole? Java Basics - Anfänger-Themen 2
Henri keine Ausgabe Java Basics - Anfänger-Themen 5
J TableView zeigt keine Daten an Java Basics - Anfänger-Themen 14
C Java stellt unter Windows keine Umlaute dar Java Basics - Anfänger-Themen 9
A Keine Konsolenausgabe Java Basics - Anfänger-Themen 5
D Methoden Filewriter macht keine Zeilenumbrüche Java Basics - Anfänger-Themen 3
D Compiler-Fehler NullPointerExeption aber Ecplise zeigt keine Fehler an?! Java Basics - Anfänger-Themen 8
D addActionListener zeigt keine Wirkung Java Basics - Anfänger-Themen 8
S Warum erlaubt ein while-Loop keine Variablen-Declaration wie der for-Loop..? Java Basics - Anfänger-Themen 6
M Lottozahlen 6 aus 49 keine doppelten Java Basics - Anfänger-Themen 5
D Keine Ausgabe in meinem Helden Programm Java Basics - Anfänger-Themen 2
M Keine Ausgabe Java Basics - Anfänger-Themen 4
C PrintWriter schreibt keine in Strings enthaltenen Zeilenumbrüche Java Basics - Anfänger-Themen 9
D Keine Funktion bei "else" Java Basics - Anfänger-Themen 5
J Rückgabe als Wert, keine Referenz Java Basics - Anfänger-Themen 3
K Keine doppelten Zufallszahlen im Array Java Basics - Anfänger-Themen 17
X Einfach verkettete Liste, keine Fehlermeldung Programm friert ein Java Basics - Anfänger-Themen 4
1 Mini Programm, keine Eingabe möglich.. Java Basics - Anfänger-Themen 6
P Wiedereinstieg und kann keine Dateien mehr öffnen... Java Basics - Anfänger-Themen 13
R Keine doppelten Zufallszahlen Java Basics - Anfänger-Themen 2
T Buffererwriter keine Exception obwohl Client weg Java Basics - Anfänger-Themen 2
D Java Eclipse hat scheinbar keine library Java Basics - Anfänger-Themen 2
M Keine Datenbank verbindung Java Basics - Anfänger-Themen 14
E Keine Ausgabe der Konsole Java Basics - Anfänger-Themen 4
Pentalon Eclipse JUNO keine Vorschläge von Methoden bzw. Interfaces der eigenen Klassen Java Basics - Anfänger-Themen 5
tuttle64 Keine Umlaute im Dos Fenster Java Basics - Anfänger-Themen 12
D Erstellte Jar datei zeigt keine Bilder an Java Basics - Anfänger-Themen 5
L Klassen Ich kann keine .jar Dateien mehr öffnen Java Basics - Anfänger-Themen 4
J Haben Chars wirklich keine KeyCodes? Java Basics - Anfänger-Themen 12
L Applet : keine Recht für Zugriff auf Clipboard (trotz Zertifikat) Java Basics - Anfänger-Themen 4
A contains bzw. indexOf liefert keine Treffer? Java Basics - Anfänger-Themen 3
M Java Webstart keine Zugriffe Java Basics - Anfänger-Themen 7
W Eclipse erstellt keine Klassen Java Basics - Anfänger-Themen 6
B Aus einem Eclipse Projekt eine .jar - keine Bilder drin Java Basics - Anfänger-Themen 7
K org.h2.jdbc.JdbcSQLException: Keine Daten verfügbar Java Basics - Anfänger-Themen 9
J Mehrere Zufallszahlen erzeugen, aber keine darf doppelt erzeugt werden - Wie? Java Basics - Anfänger-Themen 5
E String soll mit Großbuchstaben anfangen und keine Sonderzeichen enthalten Java Basics - Anfänger-Themen 4
P Zugriff auf Attribute einer Klasse, zu der keine Verbindung besteht Java Basics - Anfänger-Themen 11
J InputStreamReader + BufferedReader - keine Eingabemöglichkeit Java Basics - Anfänger-Themen 10
T JTable keine spaltenbeschriftung Java Basics - Anfänger-Themen 2
G Input/Output FilenameFilter aber bitte keine Unterordner Java Basics - Anfänger-Themen 5
M nach jar export keine db abfrage möglich Java Basics - Anfänger-Themen 2
G JDK installieren keine eclipse.exe gefunden Java Basics - Anfänger-Themen 16
S Erste Schritte Wo steht eigentlich das ein jar keine andere jars enthalten darf? Java Basics - Anfänger-Themen 19
O Erste Schritte Klassenname zurückgeben, keine instanz Java Basics - Anfänger-Themen 23
K keine Reaktion im TableModel nach ändern der liste? Java Basics - Anfänger-Themen 2
M keine geschwungenen Klammern Java Basics - Anfänger-Themen 9
E Input/Output Socket bekommt keine Verbindung bei funktionierendem Fremdziel Java Basics - Anfänger-Themen 2
V JavaApplet versendet keine mail Java Basics - Anfänger-Themen 8
B Interface Nach "package"-Nennung keine Toolbar-Icons mehr Java Basics - Anfänger-Themen 5
B Geerbte Instanz kann keine void Methode ausführen?! Java Basics - Anfänger-Themen 15
S Java Web Start lädt keine Bilder Java Basics - Anfänger-Themen 2
P Keine Rechenoperationen bei Doublewert? Java Basics - Anfänger-Themen 4
B Variablen keine Arrayübergabe für getter im Interface Java Basics - Anfänger-Themen 8
I Habe keine Idee was ich als Anfänger programmieren kann. Java Basics - Anfänger-Themen 4
R Kalender speichert keine Zeit Java Basics - Anfänger-Themen 2
A (Scheinbar) keine Schreibrechte in Linux Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben