Binärzahl prüfen und dezimalen Wert zurückgeben

I

igorist88

Gast
Guten Tag zusammen!

Zwei Fragen:
1. Wie kann ich prüfen, ob ein übergebener String eine Binärzahl (z.B. '1100') ist?
- Denke mit einer Schleife .. aber wir genau ..
2. Wir gebe ich diese Binärzahl als dezimalen Wert zurück?

Danke!
 
S

SlaterB

Gast
mit Datenbanken hat das ja mal gar nichts zu tun,
eh nach Hausaufgaben zu verschieben, wenn du keine Ansätze zur Diskussion mitbringst,

nur 'Schleife' zähle ich mal nicht, wie es danach weiter geht ist nicht klar?
ein Zeichen des Strings extrahieren und anschauen?

das zweite findet man in der API in der Integer-Klasse oder ist sonst ein gewisser Standard-Algorithmus,
den hier zu erklären wäre schon etwas langwidrig, ob allgemein mathematisch oder dann in Java-Code

falls du selber nicht bestimmtes wiederum diskutieren willst,
ist es wohl vertretbar, gleich auf google für fertige Ergebnisse zu verweisen
 
N

nillehammer

Gast
1. Wie kann ich prüfen, ob ein übergebener String eine Binärzahl (z.B. '1100') ist?
2. Wir gebe ich diese Binärzahl als dezimalen Wert zurück?
Java:
final int binary = Integer.parseInt("101", 2);
Wenn's ne Binärzahl ist, hast Du sie gleich als int (also dezimal). Wenn es keine ist, fliegt eine NumberFormatException, die Du abfangen kannst und den Benutzer zu einer Neueingabe auffordern. Das meinte SlaterB mit seinem Verweis auf die API von Integer.

[EDIT] Und bei der Regex von 127.0.0.1 fehlt ein +, damit es funktioniert. Also so:
Code:
zahl.matches("[0-1]+")
(Inzwischen berichtigt, Edit ist toll! :D)[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:

127.0.0.1

Bekanntes Mitglied
schon ergänzt ;)

Code:
+

Matches 1 or more of the preceeding token. This is a greedy match, and will match as many characters as possible before satisfying the next token.
 

Neue Themen


Oben