В этой статье описывается реализация сложных бинарных функций преобразователя в Java. Поделитесь этим для вашей ссылки, следующим образом:
Это писательный бинарный конвертер, написанный на Java, в том числе 12 типов взаимных преобразований между 10, 2, 8 и шестнадцатеричными. После ввода числа, который будет преобразован, выберите метод преобразования, который вы хотите использовать в соответствии с подсказками, и вывести результат преобразования.
ПРИМЕЧАНИЕ. Недавно загруженный файл был улучшен на основе предыдущего кода (3. Оригинальный код Java ниже), который может лучше реализовать инкапсуляцию.
1. SystemConvert.java
Пакет Day8; Import java.util.scanner; Public Class SystemConvert {Static Scanner Scanner = новый сканер (System.in); статическая строка s = ""; // Определите метод десятичного к бинарному. public static String C10t2 (int umnb) {string result = ""; для (int i = numb; i> 0; i /= 2) result = i % 2 + result; результат возврата; } // Определите метод десятичного к восьмиугольникам. public Static String C10T8 (int umbb) {string result = ""; для (int i = numb; i> 0; i /= 8) result = i % 8 + result; результат возврата; } // Определите метод бина до десятичного. public static int c2t10 (int numb) {int k = 0, result = 0; // string result = null; for (int i = numb; i> 0; i /= 10) {result += (i % 10) * math.pow (2, k); K ++; } return Result; } // Определите метод восьмого до десятичного десятичного. public static int c8t10 (int numb) {int k = 0, temp = 0; for (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 (to) {case 2: s = "" + c10t2 (numb); перерыв; Случай 8: s = "" + c10t8 (numb); перерыв; Случай 16: s = integer.tohexstring (numb) .touppercase (); перерыв; по умолчанию: System.out.println («Неправильный ввод!»); } System.out.println (s); } public static void convert2 (int numb, int to) {string s = ""; Switch (to) {case 10: s = "" + c2t10 (numb); перерыв; Случай 8: s = "" + c10t8 (c2t10 (numb)); перерыв; Случай 16: s = integer.tohexstring (c2t10 (numb)). touppercase (); перерыв; по умолчанию: System.out.println («Неправильный ввод!»); } System.out.println (s); } public static void convert8 (int numb, int to) {string s = ""; Switch (to) {case 2: s = "" + c10t2 (c8t10 (numb)); перерыв; Случай 10: s = "" + c8t10 (numb); перерыв; Случай 16: s = integer.tohexstring (c8t10 (numb)). touppercase (); перерыв; по умолчанию: System.out.println («Неправильный ввод!»); } System.out.println (s); } public static void convert16 (string numb, int to) {string s = ""; Switch (to) {case 2: int temp2 = integer.parseint (numb, 16); s = c10t2 (temp2); перерыв; Случай 8: int temp3 = integer.parseint (numb, 16); s = c10t8 (temp3); перерыв; Случай 10: int temp = integer.parseint (numb, 16); s = "" + temp; перерыв; по умолчанию: System.out.println («Неправильный ввод!»); } System.out.println (s); } public static void Convert (int numb, int from, int to) {switch (from) {case 10: convert10 (numb, to); перерыв; Случай 2: Convert2 (онемение, до); перерыв; Случай 8: Convert8 (онемение, к); перерыв; по умолчанию: System.out.println («Неправильный ввод!»); }} public static void convert (string numb, int from, int to) {switch (from) {case 16: convert16 (numb, to); перерыв; по умолчанию: System.out.println («Неправильный ввод!»); }} public static void main (string [] args) {System.out.println ("Это шестнадцатеричное число, которое нужно преобразовать? /n Enter 1. Это означает« да »; /n ввод 2. Это не означает. /n"); int input = scanner.nextint (); Switch (input) {case 1: System.out.println («Пожалуйста, введите шестнадцатеричный номер:»); String numb = scanner.next (); System.out.println («Какое двоичное число преобразуется?»); int to = scanner.nextint (); конвертировать (онемение, 16, в); перерыв; Случай 2: System.out.println («Пожалуйста, введите шестнадцатеричный номер:»); int numb2 = scanner.nextint (); System.out.println («Начните с какого бинарного числа?»); int from = scanner.nextint (); System.out.println («Какое двоичное число преобразуется?»); int to2 = scanner.nextint (); преобразовать (Numb2, от, to2); перерыв; по умолчанию: System.out.println («Неправильный ввод!»); }}}2. Скриншот экрана эффекта бега:
3. Оригинальный код Java
Import java.util.scanner; открытый класс SystemConvert {Статический сканер сканер = новый сканер (System.in); статическая строка s = ""; public static void convert () {System.out.println («Пожалуйста, введите число:»); String number = scanner.next (); System.out.println («Выберите способ:/n Enter 1, что указывает на десятичное значение для бинарного;/N» + «Вход 2, указывающий на десятичный к десятичным дскаим;/n» + «Вход 3, указывающий на десятичный к октальному;/n» + »вход 4, означает, что вход, означает, что вход 5, означает, что означает, что к гексадимальному; Decimal;/n " +" Input 7, означает немецкий язык для ength;/n " +" вход 8, означает немецкий к шестнадцатеричным;/n " +" вход 9, означает, что он подходит для шестнадцатеричного;/n " +" вход 10, означает, что он означает гексадецимальный;/n " +" вход 11, означает Hexadecimal to bin;/n " +" noptemal 12, gexAdeciM "/n octe -nemal; n octe -nemal; int input = scanner.nextint (); Switch (input) {case 1: // 10 >>> 2 s = "" + c10t2 (numb); перерыв; Случай 2: // 2 >>> 10 с += c2t10 (онемение); перерыв; Случай 3: // 10 >>> 8 с = "" + c10t8 (numb); перерыв; Случай 4: // 8 >>> 10 с = "" + c8t10 (numb); перерыв; Случай 5: // 10 >>> 16 s = integer.tohexstring (integer.valueof (numb)). touppercase (); перерыв; Случай 6: // 16 >>> 10 int temp = integer.parseint (numb, 16); s = "" + temp; перерыв; Случай 7: // 2 >>> 8 s = "" + c10t8 (integer.tostring (c2t10 (numb))); перерыв; Случай 8: // 2 >>> 16 s = integer.tohexstring (integer.valueof (c2t10 (numb))). touppercase (); перерыв; Случай 9: // 8 >>> 2 s = "" + c10t2 (integer.tostring (c8t10 (numb))); перерыв; Случай 10: // 8 >>> 16 s = integer.tohexstring (integer.valueof (c8t10 (numb))). touppercase (); перерыв; Случай 11: // 16 >>> 2 int temp2 = integer.parseint (numb, 16); s = integer.tobinarystring (temp2); перерыв; Случай 12: // 16 >>> 8 int temp3 = integer.parseint (numb, 16); s = c10t8 (integer.toString (temp3)); перерыв; по умолчанию: System.out.println («Неправильный ввод!»); } System.out.println (s); } public static int c2t10 (string numb) {int k = 0, result = 0; // string result = null; for (int i = integer.valueof (numb); i> 0; i /= 10) {result += (i % 10) * math.pow (2, k); K ++; } return Result; } public static int c8t10 (string numb) {int k = 0, temp = 0; for (int i = integer.valueof (numb); i> 0; i /= 10) {temp += (i % 10) * math.pow (8, k); K ++; } return Temp; } public Static String C10t8 (String numb) {string result = ""; for (int i = integer.valueof (numb); i> 0; i /= 8) result = i % 8 + result; результат возврата; } public Static String C10T2 (String numb) {string result = ""; for (int i = integer.valueof (umnb); i> 0; i /= 2) result = i % 2 + result; результат возврата; } public static void main (string [] args) {SystemConvert.Convert (); }}4. запустить скриншот:
PS: Вот несколько инструментов онлайн -конверсии и расчета для этого веб -сайта. Я считаю, что это будет полезно для вас:
Онлайн -инструмент преобразования в Интернете:
http://tools.vevb.com/transcoding/hexconvert
Стандартный онлайн -калькулятор:
http://tools.vevb.com/jisuanqi/jsq
Онлайн научный калькулятор:
http://tools.vevb.com/jisuanqi/jsqkeexue
Я надеюсь, что эта статья будет полезна для всех Java Programming.