myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

[JAVA] String.isBinaer, .isOktal, .isHexadezimal???

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 09.11.10, 17:25   #1
wa53kefa
Newbie
 
Registriert seit: Nov 2009
Beiträge: 66
Bedankt: 11
wa53kefa ist noch neu hier! | 0 Respekt Punkte
Standard [JAVA] String.isBinaer, .isOktal, .isHexadezimal???

hallo liebe Programmierfreunde,

gibt es in JAVA eine vordefinierte Methode die einen String kontrolliert ob die Zahl(eingelesen als String) in Binär-, in Oktal- oder in Hexadezimal-form eingegeben wurde? (und wenn nicht wie kann ich sie geschickt schreiben?)

zum einlesen benutze ich das Dialogfeld;
Code:
String inputValue = JOptionPane.showInputDialog("Bitte Zahl eingeben");

Jetzt möchte ich überprüfen ob es sich bei dem eingegebenen Wert um eine Zahl in Binär,Oktal oder Hexadezimal-form handelt. Wie mache ich das??

Gibt es eine Vordefinierte Methode der Klasse String, wie etwa:
Code:
inputValue.isBinaer oder inputValue.isHex ???
wa53kefa ist offline   Mit Zitat antworten
Ungelesen 09.11.10, 18:35   #2
Banghard
Newbie
 
Registriert seit: Jun 2009
Beiträge: 74
Bedankt: 26
Banghard ist noch neu hier! | 0 Respekt Punkte
Standard

Solche Methoden bietet die Klasse String meines Wissens nach nicht an. Ein Problem bei der Umsetzung ist einfach die Interpretierbarkeit der Daten.

Beispiel:

Eingabe 10
Dualzahl == 2
Dezimalzahl == 10
Hexadezimalzahl == 16

Für Dualzahlen könntest du überprüfen, ob die Eingabe ausschließlich aus Nullen und Einsen besteht, wenn der Benutzer aber beispielsweise 1000 eingibt, könnte er natürlich dezimal 1000 meinen, aber auch die Dezimalzahl 8 in Dualform. Als Hexadezimalzahl wäre das (dezimal) 4096. Hier kannst du also nicht eindeutig interpretieren. Manche Eingaben wären eindeutig, zum Beispiel "F" ist nur als Hexadezimalzahl definiert, also 15 dezimal.
Banghard ist offline   Mit Zitat antworten
Ungelesen 09.11.10, 18:46   #3
PornoPenner
Banned
 
Registriert seit: Aug 2010
Beiträge: 209
Bedankt: 70
PornoPenner ist noch neu hier! | 0 Respekt Punkte
Standard

Was die Klasse String kann/ist/tut und wonach sie riecht steht alles hier:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
PornoPenner ist offline   Mit Zitat antworten
Ungelesen 09.11.10, 19:19   #4
wa53kefa
Newbie
 
Registriert seit: Nov 2009
Beiträge: 66
Bedankt: 11
wa53kefa ist noch neu hier! | 0 Respekt Punkte
Standard

dann überprüfe ich ob (inputValue.charAt(0) == 0) für Oktal;
und (inputValue.charAt(1) == x) für Hex;
dann ist halt der Werteeingeber gefordert vor die Zahlen ein 0 bzw ein 0x zu schreiben.
Danach kann ich ja immernoch durch das "charFeld" (String) gehen und schauen ob es Werte größer als 8 bei Okt gibt.....
bisschen mehr code aber ist ja alles kein Prob

Danke Banghard hast mir n bisschen weitergeholfen =)

€: wisst Ihr wie ich von einem String das erste Zeichen / die ersten zwei Zeichen "wegschneiden" kann?
wa53kefa ist offline   Mit Zitat antworten
Ungelesen 09.11.10, 21:25   #5
germgerm
bla
 
Registriert seit: Mar 2010
Beiträge: 312
Bedankt: 302
germgerm ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von wa53kefa Beitrag anzeigen
€: wisst Ihr wie ich von einem String das erste Zeichen / die ersten zwei Zeichen "wegschneiden" kann?
inputvalue = inputvalue.substring(2);

siehe java-referenz vom pp.
germgerm ist offline   Mit Zitat antworten
Ungelesen 09.11.10, 21:33   #6
wa53kefa
Newbie
 
Registriert seit: Nov 2009
Beiträge: 66
Bedankt: 11
wa53kefa ist noch neu hier! | 0 Respekt Punkte
Standard

germgerm Danke für deine Antwort.


Ich habe es nun in der folgenden Methode ausgelagert:

Code:
public static String schneide(String s, int k){
		String g = "";
		for(int j=k; j<s.length(); j++){
			g += s.charAt(j);
		}
		return g;
	}
funktioniert genauso
wa53kefa ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:55 Uhr.


Sitemap

().