![]() |
[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 ??? |
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. |
Was die Klasse String kann/ist/tut und wonach sie riecht steht alles hier:
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] |
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? |
Zitat:
siehe java-referenz vom pp. |
germgerm Danke für deine Antwort.
Ich habe es nun in der folgenden Methode ausgelagert: Code:
public static String schneide(String s, int k){ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:03 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.