String auf Dualzahl überprüfen

Diskutiere String auf Dualzahl überprüfen im Java Basics - Anfänger-Themen Bereich.
C

CocoLoco

Hallo alle zusammen. Ich bin noch ziemlich neu in der Programmierwelt und hab die ein oder anderen Schwierigkeiten beim implementieren meiner Methode. Ich soll eine Methode erstellen die erkennt ob es sich um eine Dualzahl handelt oder nicht, wenn ja soll sie den Wert boolean true zurückgeben wenn nicht dann false. Außerdem soll sie false ausgeben wenn es sich um eine römische eins, ein großes O oder einen negativen Wert handelt. Nach etlichen Versuchen bin ich noch auf die Idee gekommen den Unicode zu verwenden, hat aber auch nicht geklappt. Vielleicht könnte mir jemand erklären warum und einen Denkanstoß geben um auf die Lösung zu kommen?

Code:
public class IsDualNumber {

    private final String s;

    public IsDualNumber(String s){
        this.s = s;
    }

    static boolean IsDualNumber() {
        Scanner eingabe = new Scanner(System.in);
        System.out.println("Bitte gib Zahl ein!");
        String string = eingabe.next();

        boolean status = string.contains("0") || string.contains("1");

        if (status == true) {
            System.out.println("Dualzahl");
        }else{
            System.out.println("keine Dualzahl");
        }
        return status;
    }



        public static void main (String[]args){
            IsDualNumber();
        }
    }
 
mihe7

mihe7

Vielleicht könnte mir jemand erklären warum und einen Denkanstoß geben um auf die Lösung zu kommen?
Dein Code ist fast richtig. Du prüfst allerdings nur, ob string eine 0 oder 1 enthält. Tatsächlich müsstest Du prüfen, ob in string etwas anderes als eine 0 oder 1 vorkommt. Zum Beispiel, indem Du jedes einzelne Zeichen auf 0 und 1 hin überprüfst...
 
W

White_Fox

Was ich mich dabei frage:
Woher weißt du denn, das es sich bei der Zeichenkette "101" nicht um eine Dualzahl handelt? Genauso gut könnte es auch eine Hexadezimal- oder Oktalzahl sein, nebst jedem anderen exotischen Stellenwertsystem.

Anders sähe es bei den Zeichenketten "0b101", "0x101" und "0d101" aus, da ist das eindeutig. Was ich sagen will: Ich weiß zwar nicht genau was du da baust, aber an deiner Stelle würde ich über das Konzept nochmal nachdenken.

Edit:
Oder willst du nur wissen, ob es sich bei der Zeichenkette um eine Dualzahl handeln KÖNNTE? In diesem Fall würde ich die Methode anders benamsen, z.B. isValidDual() oder so.
 
T

temi

Was ich mich dabei frage:
Woher weißt du denn, das es sich bei der Zeichenkette "101" nicht um eine Dualzahl handelt? Genauso gut könnte es auch eine Hexadezimal- oder Oktalzahl sein, nebst jedem anderen exotischen Stellenwertsystem.
Du hast zwar Recht, aber ich denke, dass es sich um eine Übung handelt und man diese Möglichkeit nicht unbedingt berücksichtigen muss. BTW: Es könnnte ja auch einfach nur 101 ("einhundertundeins") sein. ;)
 
Zuletzt bearbeitet:
C

CocoLoco

Dein Code ist fast richtig. Du prüfst allerdings nur, ob string eine 0 oder 1 enthält. Tatsächlich müsstest Du prüfen, ob in string etwas anderes als eine 0 oder 1 vorkommt. Zum Beispiel, indem Du jedes einzelne Zeichen auf 0 und 1 hin überprüfst...
Vielen lieben Dank, das Problem hat sich erledigt!
 
C

CocoLoco

Du hast zwar Recht, aber ich denke, dass es sich um eine Übung handelt und man diese Möglichkeit nicht unbedingt berücksichtigen muss. BTW: Es könnnte ja auch einfach nur 101 ("einhundereins") sein. ;)
Stimmt :) und der Methodenname war mir auch vorgegeben auch wenn ich die Erklärung von @White_Fox ebenfalls plausibel finde
 
Thema: 

String auf Dualzahl überprüfen

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben