Не проходит задача. Но Intelij корректно отрабатывает и выводит двоичные значения как в примере.
package com.javarush.task.jdk13.task09.task0938;
/*
Двоичная кодировка
*/
public class Solution {
public static void main(String[] args) {
String string = "JavaRush";
char[] charArray = string.toCharArray();
for (int i = 0; i < charArray.length; i++) {
print(charArray[i]);
}
}
private static void print(int number) {
String result = String.format("Номер символа %s в таблице Unicode - %d, а в двоичной системе - %s", (char) number, number, toBinary(number));
System.out.println(result);
}
public static String toBinary(int number) {
//напишите тут ваш код
int[] gr2 = new int[11];
for (int i = 0; i <= 10; i++) {
gr2[i] = (int) Math.pow(2, i);
}
int i2 = 0;
for (int i = 0; i <= 10; i++) {
if (number < gr2[i + 1] && number >= gr2[i]) {
i2 = i;
break;
}
}
String result = "";
for (int i = i2; i >= 0 ; i--) {
if (number == 1 && i == 0) result = result + "1";
else if (number == 0 && i == 0) result = result + "0";
else {
if (number >= gr2[i]) {
number = number - gr2[i];
result = result + "1";
}
else {
result = result + "0";
}
}
}
return result;
}
}