По какой причине программа не принимает первое условие? Я сделал проверку на различных вариантах с разными символами и всё работало, но здесь почему-то проверка не приходится..
package com.javarush.task.pro.task09.task0908;
import java.util.regex.Pattern;
/*
Двоично-шестнадцатеричный конвертер
*/
public class Solution {
public static void main(String[] args) {
String binaryNumber = "100111010000";
System.out.println("Двоичное число " + binaryNumber + " равно шестнадцатеричному числу " + toHex(binaryNumber));
String hexNumber = "9d0";
System.out.println("Шестнадцатеричное число " + hexNumber + " равно двоичному числу " + toBinary(hexNumber));
}
public static String toHex(String binaryNumber) {
String hex = "";
if (binaryNumber == null) return hex;
String HEX = "0123456789abcdef";
String[] BINARY = {"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
"1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"};
int binaryLen = binaryNumber.length();
for (int i = 0; i < binaryLen % 4; i++){
binaryNumber = "0" + binaryNumber;
}
binaryLen = binaryNumber.length();
String bin = "";
for (int i = 0; i < binaryLen; i++){
int z = Character.getNumericValue(binaryNumber.charAt(i));
if (z != 0 && z != 1) {
hex = "";
break;
}
bin = bin + ("" + z);
int y = 0;
if (bin.length() == 4){
while (!bin.equals(BINARY[y])){
y += 1;
}
bin = "";
hex += HEX.charAt(y);
}
}
return hex;
}
public static String toBinary(String hexNumber) {
String binary = "";
if (hexNumber == null) return binary;
String HEX = "0123456789abcdef";
String[] BINARY = {"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
"1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"};
int hexLen = hexNumber.length();
for (int i = 0; i < hexLen; i++){
int x = 0;
while (x < 16 && hexNumber.charAt(i) != HEX.charAt(x)) x += 1;
if (x >= 16) return "";
binary += BINARY[x];
}
return binary;
}
}
JFFM
11 уровень
Не проходит проверку
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Евгений Salesforce developer в EPAM
7 октября 2022, 11:40
покажи решение
0