Dieser Artikel beschreibt die Implementierung komplexer Binärwandlerfunktionen in Java. Teilen Sie es für Ihre Referenz wie folgt weiter:
Dies ist ein von Java geschriebener binärer Konverter, der 12 Arten von gegenseitigen Umbauten zwischen 10, 2, 8 und Hexadezimal darstellt. Wählen Sie nach Eingabe einer Nummer die Konvertierungsmethode, die Sie anhand der Eingabeaufforderungen verwenden möchten, und geben Sie das Konvertierungsergebnis aus.
Hinweis: Die neugeladene Datei wurde basierend auf dem vorherigen Code (3. Original -Java -Code unten) verbessert, was die Kapselung besser implementieren kann.
1. SystemConvert.java
Paket Tag8; importieren java.util.scanner; public class SystemConvert {statischer Scanner -Scanner = neuer Scanner (System.in); statische Zeichenfolge s = ""; // Definieren Sie die Dezimalmethode zu Binär. public static string c10t2 (int numb) {String result = ""; für (int i = numb; i> 0; i /= 2) Ergebnis = I % 2 + Ergebnis; Rückgabeergebnis; } // Definieren Sie die Dezimalmethode zu Oktal. public static string c10t8 (int numb) {String result = ""; für (int i = numb; i> 0; i /= 8) Ergebnis = I % 8 + Ergebnis; Rückgabeergebnis; } // Definieren Sie die Methode von Bin to Decimal. public static int c2t10 (int numb) {int k = 0, result = 0; // String result = null; für (int i = numb; i> 0; i /= 10) {result += (i % 10) * math.pow (2, k); K ++; } Rückgabeergebnis; } // Definieren Sie die Methode von Oktal zu Dezimal. public static int c8t10 (int numb) {int k = 0, temp = 0; für (int i = numb; i> 0; i /= 10) {temp += (i % 10) * math.pow (8, k); K ++; } return temp; } public static void convert10 (int numb, int to) {string s = ""; Switch (zu) {Fall 2: s = "" + c10t2 (numb); brechen; Fall 8: s = "" + c10t8 (Numb); brechen; Fall 16: s = Integer.TohexString (Numb) .ToUpperCase (); brechen; Standard: System.out.println ("Falsche Eingabe!"); } System.out.println (s); } public static void convert2 (int numb, int to) {string s = ""; Switch (zu) {Fall 10: s = "" + c2t10 (numb); brechen; Fall 8: s = "" + C10T8 (C2T10 (Numb)); brechen; Fall 16: s = Integer.TohexString (C2T10 (Numb)). touppercase (); brechen; Standard: System.out.println ("Falsche Eingabe!"); } System.out.println (s); } public static void convert8 (int numb, int to) {string s = ""; Switch (zu) {Fall 2: s = "" + c10t2 (c8t10 (numb)); brechen; Fall 10: s = "" + c8t10 (Numb); brechen; Fall 16: s = Integer.TohexString (C8T10 (numb)). touppercase (); brechen; Standard: System.out.println ("Falsche Eingabe!"); } System.out.println (s); } public static void convert16 (String numb, int to) {String S = ""; Switch (zu) {Fall 2: int temp2 = Integer.ParseInt (Numb, 16); S = C10T2 (temp2); brechen; Fall 8: int temp3 = Integer.ParseInt (Numb, 16); S = C10T8 (TEMP3); brechen; Fall 10: int temp = Integer.ParseInt (Numb, 16); s = "" + temp; brechen; Standard: System.out.println ("Falsche Eingabe!"); } System.out.println (s); } public static void convert (int numb, int von, int to) {switch (von) {case 10: convert10 (numb, bis); brechen; Fall 2: convert2 (numb, to); brechen; Fall 8: Convert8 (Numb, to); brechen; Standard: System.out.println ("Falsche Eingabe!"); }} public static void convert (String numb, int von, int to) {switch (von) {case 16: convert16 (numb, bis); brechen; Standard: System.out.println ("Falsche Eingabe!"); }} public static void main (String [] args) {System.out.println ("Ist es eine hexadezimale Nummer, die konvertiert werden soll? int input = scanner.nextint (); Switch (Eingabe) {Fall 1: System.out.println ("Bitte geben Sie eine hexadezimale Nummer ein:"); String numb = scanner.Next (); System.out.println ("Welche Binärzahl wird in?"); int to = scanner.Nextint (); konvertieren (numb, 16, bis); brechen; Fall 2: System.out.println ("Bitte geben Sie eine Hexadezimalnummer ein:"); int numb2 = scanner.nextint (); System.out.println ("Start von welcher Binärzahl?"); int von = scanner.Nextint (); System.out.println ("Welche Binärzahl wird in?"); int to2 = scanner.nextint (); konvertieren (numb2, von, to2); brechen; Standard: System.out.println ("Falsche Eingabe!"); }}}2. Screenshot des Laufeffekts:
3. Original Java -Code
import Java.util.scanner; public class SystemConvert {static Scanner Scanner = neuer Scanner (System.in); statische Zeichenfolge s = ""; public static void convert () {System.out.println ("Bitte eine Nummer eingeben:"); String number = scanner.Next (); System.out.println ("Wählen Sie einen Weg:/n Einzug 1, was Dezimaler zu Binärer;/n" + "Eingabe 2 anzeigt, was Dezimalzahl zu dezimal;/n" + "input 3 anzeigt, was Decimal to Octal;/N" + Input 4, bedeutet Enth to Decimal;/N " +", in Eingabe 5, bedeutet Decimal. Decimal;/n " +" Eingabe 7, bedeutet Deutsch für uth;/n " +" input 8, bedeutet Deutsch zu hexadezimal;/n " +" Eingabe 9 bedeutet engh zu hexadezimal;/n " +" Eingabe 10, bedeutet eng zu hexadezimal;/n " +" Eingabe 11, hexadezimal zu bin;/n "/n"/n " +" + " +", " +"), "),"), ")"). int input = scanner.nextint (); Switch (Eingabe) {Fall 1: // 10 >>> 2 s = "" + c10t2 (numb); brechen; Fall 2: // 2 >>> 10 S += C2T10 (Numb); brechen; Fall 3: // 10 >>> 8 s = "" + c10t8 (Numb); brechen; Fall 4: // 8 >>> 10 s = "" + c8t10 (Numb); brechen; Fall 5: // 10 >>> 16 s = Integer brechen; Fall 6: // 16 >>> 10 int temp = Integer.ParseInt (Numb, 16); s = "" + temp; brechen; Fall 7: // 2 >>> 8 s = "" + c10t8 (Integer.toString (C2T10 (Numb))); brechen; Fall 8: // 2 >>> 16 S = Integer brechen; Fall 9: // 8 >>> 2 S = "" + C10T2 (Integer.ToString (C8T10 (Numb))); brechen; Fall 10: // 8 >>> 16 s = Integer brechen; Fall 11: // 16 >>> 2 int temp2 = Integer.ParseInt (Numb, 16); S = Integer.TobinaryString (temp2); brechen; Fall 12: // 16 >>> 8 int temp3 = Integer.ParseInt (Numb, 16); S = C10T8 (Integer.ToString (TEMP3)); brechen; Standard: System.out.println ("Falsche Eingabe!"); } System.out.println (s); } public static int c2t10 (String numb) {int k = 0, result = 0; // String result = null; für (int i = integer K ++; } Rückgabeergebnis; } public static int c8t10 (String numb) {int k = 0, temp = 0; für (int i = integer K ++; } return temp; } public static String C10T8 (String numb) {String result = ""; für (int i = Integer. Rückgabeergebnis; } public static String C10T2 (String numb) {String result = ""; für (int i = Integer. Rückgabeergebnis; } public static void main (String [] args) {SystemConvert.Convert (); }}4. Rennen Sie Screenshot:
PS: Hier sind einige Online -Conversion- und Berechnungstools für diese Website. Ich glaube, es wird Ihnen hilfreich sein:
Online -willkürliches Conversion -Tool:
http://tools.vevb.com/transcoding/hexconvert
Online -Standardrechner:
http://tools.vevb.com/jisuanqi/jsq
Online -wissenschaftlicher Taschenrechner:
http://tools.vevb.com/jisuanqi/jsqkeexue
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.