1) Убедись, что метод toBinary(int) возвращает пустую строку, если на вход получает число, меньшее или равное 0.
2) Убедись, что метод toDecimal(String) возвращает 0, если на вход получает пустую строку или null.
Моя позиция по первому пункту:
if(decimalNumber<=0) return null;
! если decimalNumber меньше или равно 0, то я возвращаю null
разве это не пустая строка? строка с ничем
моя позиция по второму пунтку:
if(binaryNumber.isEmpty()|| binaryNumber.equals(test2)) return 0;
тут я совсем сдаюсь
проверяю на пустоту строки и ее на наличие null
пожалуйста, помогитеpackage com.javarush.task.pro.task09.task0906;
import java.util.regex.Pattern;
/*
Двоичный конвертер
*/
public class Solution {
public static void main(String[] args) {
int decimalNumber = Integer.MAX_VALUE;
System.out.println("Десятичное число " + decimalNumber + " равно двоичному числу " + toBinary(decimalNumber));
String binaryNumber = "1111111111111111111111111111111";
System.out.println("Двоичное число " + binaryNumber + " равно десятичному числу " + toDecimal(binaryNumber));
}
public static String toBinary(int decimalNumber) {
//напишите тут ваш код
// String strFailure = null;
//
if(decimalNumber<=0) return null;//strFailure;
int i = 0;
// long binary = 0;
String strBinary= " ";
while (decimalNumber>0){
strBinary = strBinary + decimalNumber%2;
decimalNumber = decimalNumber/2;
i++;
System.out.println(strBinary);
}
// String str = new String(String.valueOf(binary));
return strBinary;
}
public static int toDecimal(String binaryNumber) {
//напишите тут ваш код
// String test0 = "";
String test2 = null;
if(binaryNumber.isEmpty()|| binaryNumber.equals(test2)) return 0;
int decima = 0;
int[] binaryArray = new int[binaryNumber.length()];
for (int i=0; i<binaryNumber.length(); i++){
binaryArray[i]=binaryNumber.charAt(i);
// десятичное число = десятичное число + число из двоичного представления * на 2 в степени i
decima = (int)(decima+(binaryArray[i])*Math.pow(2,i));
// binaryNumber= binaryNumber/2;
}
return decima;
}
}