почему про второй метод пишет что выражение синтаксически не верное? ведь в "правильным решении" точно такое же?
package com.javarush.task.pro.task09.task0906;
import java.util.regex.Pattern;
import java.util.Scanner ;
/*
Двоичный конвертер
*/
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) {
//напишите тут ваш код
if (decimalNumber<=0) return ("");
else { while (decimalNumber != 0){
int a= (int) ( decimalNumber%2+a) ;
decimalNumber = decimalNumber/2 ;
return (a+""); }
}
public static int toDecimal(String binaryNumber) {
int decimalNumber = 0;
if ( (binaryNumber==null) || (binaryNumber.equals("")) ) return 0 ;
else {
Scanner console = new Scanner(binaryNumber);
int x = console.nextInt() , decimalNumber;
for (int i=0 ; i<binaryNumber.length() ; i++)
decimalNumber = (int) (decimalNumber+x*Math.pow(2, i) ) ;
return decimalNumber ;
}}
}}
// for (int i = 0; i < длины двоичного представления; i++) {
//десятичное число = десятичное число + число из двоичного представления * на 2 в степени i