Konvertiere eine Basis 10 Nummer in eine Basis 3 Nummer

8

Wie konvertiert man eine Basis 10 Nummer in eine Basis 3 Nummer mit einer Methode int converter (int num).

%Vor%

Es wurde Kompilierung abgeschlossen. Aber als ich versuchte, es auszuführen, und eine Nummer eingegeben hatte, zeigte es das java.lang.NumberFormatException: Für Eingabezeichenfolge: "strcvt" Ich weiß nicht, wie ich es beheben soll. Wie kann ich dies tun, ohne String zu verwenden?

    
AliceBobCatherineDough 06.02.2015, 08:44
quelle

4 Antworten

7

Sie sollten String überhaupt nicht benötigen.

Versuchen Sie es stattdessen

%Vor%

Hinweis: Zahlen im Computer sind immer nur N-Bit, d. h. 32-Bit oder 64-Bit, d.h. sie sind binär. Sie können jedoch eine Zahl erstellen, die beim Drucken in der Basis 10 tatsächlich als Nummer in der Basis 3 angezeigt wird.

    
Peter Lawrey 06.02.2015, 08:48
quelle
3

Sie verwenden nicht die Variable String strcvt deklariert, sondern aufgrund eines Tippfehlers, den Sie als "strcvt"

verwendet haben

ändern

%Vor%

bis

%Vor%     
Ankur Singhal 06.02.2015 08:45
quelle
3

"base 3 number" und "base 10 number" sind die gleiche Nummer. In der Methode int converter(int num) ändern Sie die Anzahl, obwohl Sie nur die Repräsentation ändern müssen. Schau dir parseInt(String s, int radix) und toString(int i, int radix) , das sollte dir helfen.

    
Sergey Fedorov 06.02.2015 08:56
quelle
1

Sie müssen den Wert von strcvt und nicht die Zeichenfolge "strcvt"

analysieren

Du musst also die doppelten qoutes entfernen answer = Integer.parseInt(strcvt); Und definieren Sie die Variable strcvt außerhalb der Schleife. ändere den Code zu:

%Vor%     
Jens 06.02.2015 08:47
quelle

Tags und Links