Java :: Aufgabe #67 :: Lösung #3

4 Lösungen Lösungen öffentlich
#67

Zahlenausgabe in verschiedenen Schreibweisen

Anfänger - Java von pocki - 26.11.2014 um 11:53 Uhr
Schreibe ein Programm, welches eine positive Ganzzahl in dezimaler Schreibweise entgegen nimmt.
Gib diese Zahl dann in binärer, oktaler und hexadezimaler Schreibweise, ohne Verwendung der integrierten Formatierungsfunktionen, wieder aus.

Beispiel:

Konsolenausgabe:


Zahl eingeben: 365

binär: 101101101
oktal: 555
hexadezimal: 16D
#3
vote_ok
von paddlboot (3970 Punkte) - 10.07.2019 um 09:50 Uhr
Quellcode ausblenden Java-Code
import java.util.*;

public class verschZahlen {
	public static void main (String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		System.out.print("Zahl eingeben:\t");
		int zahl = scanner.nextInt();
		
		bin(zahl);
		oktal(zahl);
		hex(zahl);
		
		scanner.close();
	}
	
	public static void bin(int zahl) {
		String dual = "";
		
		while(zahl > 0) {
			dual += zahl % 2;
			zahl /= 2;
		}
		
		String ausgabe = "";
		
		for(int i = dual.length()-1; i >= 0; i--) {
			ausgabe += dual.charAt(i);
		}
		
		System.out.println("Binär: " + ausgabe);
	}
	
	public static void oktal(int zahl) {
		String okt = "";
		
		while(zahl > 0) {
			okt += zahl % 8;
			zahl /= 8;
		}
		
		String ausgabe = "";
		
		for(int i = okt.length()-1; i >= 0; i--) {
			ausgabe += okt.charAt(i);
		}
		
		System.out.println("Oktal: " + ausgabe);
	}
	
	public static void hex(int zahl) {
		String hex = "";
		
		while(zahl > 0) {
			int temp = zahl % 16;
			
			switch(temp) {
			case 10:
				hex += "A";
				break;
			case 11:
				hex += "B";
				break;
			case 12:
				hex += "C";
				break;
			case 13:
				hex += "D";
				break;
			case 14:
				hex += "E";
				break;
			case 15:
				hex += "F";
				break;
			default: 
				hex += temp;
				break;
			}
			zahl /= 16;
		}
		
		String ausgabe = "";
		
		for(int i = hex.length()-1; i >= 0; i--) {
			ausgabe += hex.charAt(i);
		}
		
		System.out.println("Hexadezimal: " + ausgabe);
	}
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
1800443

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.