Hallo RetroTowner,
da es im PHP Thread derzeit auch ein Thread mit nützlichen Codeschnipseln gibt , dachte ich mir ok machen wir auch einen im Java Thread.
Ich fang mal an .
Java Umrechner [ Extra Kommentiert ] :
Spoiler anzeigen
Code
package cwriter;
import java.util.*;
import javax.swing.JLabel;
public class test {
public static void main(String[] args) {
// Generiere eine Funktion
System.out.println("Umrechner" + "\n"); // Umrechner wird ausgegeben
System.out.println("Geben Sie hier eine bestimmte Zahl ein: "); // Geben Sie hier eine bestimmte Zahl ein wird ausgegeben
Scanner sc = new Scanner(System.in);
String eingabe = sc.next();
int dez = Integer.parseInt(eingabe); // Hier wird der Variable ( dez ) eine Aufgabe zugewiesen.
System.out.println("Deine DezimalZahl ist " + dez ); // Dezimalzahl wird ausgegeben
System.out.println("Dualzahl: " + dezDual(dez)); // Dualzahl wird ausgegeben
System.out.println("Hexadezimalzahl: " + dual(dezDual(dez)) + "\n"); // Hexadezimalzahl wird ausgegeben
}
public static String dezDual(int dez) {
String bin = "";
int zaehler = 0; // Hier bekommt der Zähler ein Wert
do {
zaehler++; //
bin = Integer.toString(dez % 2) + bin;
if (zaehler % 4 == 0 && dez/2>0) {
bin = " " + bin;
}
dez = dez/2;
} while (dez>0);
if (zaehler % 4>0) {
for (int i = zaehler % 4; i<4; i++) {
bin = "0"+bin;
}
}
return bin;
}
public static String dual(String bin) {
StringTokenizer substring = new StringTokenizer(bin);
Object hex = "0x";
do{
String temp = "";
switch (substring.nextToken()){
case "0000": temp = "0"; break;
case "0001": temp = "1"; break;
case "0010": temp = "2"; break;
case "0011": temp = "3"; break;
case "0100": temp = "4"; break;
case "0101": temp = "5"; break;
case "0110": temp = "6"; break;
case "0111": temp = "7"; break;
case "1000": temp = "8"; break;
case "1001": temp = "9"; break;
case "1010": temp = "A"; break;
case "1011": temp = "B"; break;
case "1100": temp = "C"; break;
case "1101": temp = "D"; break;
case "1110": temp = "E"; break;
case "1111": temp = "F"; break;
default: temp = " ";
}
hex = hex + temp;
}while (substring.hasMoreTokens());
return (String) hex;
}
}
Alles anzeigen
Dieser Umrechner generiert eine normale Dezimalzahl zu einer Dual und Hexadezimalzahl.