Dezimalzahl in Binär umwandeln - Was sollte ich an meinem Programm verbessern?

Wasserranzen

Aktives Mitglied
Hallo,

Ich möchte mein Projekt endlich abschließen „Dezimal in Binär“. Alles ist gerichtet, aber mit zwei Problemen.

1. Es werden zu viele 1 hinzugefügt
2. Die Ausgabe ist falschrum.

Hoffe auf Hilfe. Danke !

Java:
import java.util.Scanner;
public class x {
 
public static void main(String[] args){
Scanner x = new Scanner(System.in);

int zahl;
zahl = 0;
String erg;
erg = "";

System.out.println("Bitte Zahl eingeben!");
zahl = x.nextInt();

while ( zahl > 0) {
zahl = zahl/=2;
if ( zahl%2 !=0){
System.out.print("0");
erg = erg + 1;
}
else {
System.out.print("1");


}

} // Ende der while schleife 

}
  }
 
Deine String konkatenierung muss umgedreht werden. Auch dividierst du durch 2 zu bald.
Code könnte so aussehen:
Java:
Scanner x = new Scanner(System.in);

System.out.println("Bitte Zahl eingeben!");
int zahl = x.nextInt();
String result = "";
for (int n = zahl; n != 0; n /= 2) {
  result = String.valueOf(n % 2) + result;
}
System.out.print(result);
 
Ich weiß, selber über die Sachen nachdenken hilft und bestimmt sind das auch alles Aufgaben eurer Lehrer und Professoren aber Java kann das sogar schon fasst ganz allein:

Code:
      String b = Integer.toBinaryString(25);
    
      System.out.println(b);

11001
 

Neue Themen


Zurück
Oben