Почему, если я выношу return за метод toOctal, валидатор ругается, что не может найти описание переменной octalNumber (хотя внутри метода выражение, исчисляющиее её значение!), а если внести return в метод, то это нарушает правила синтаксиса, и валидатор пишет, что метод должен возвращать значение.
И я не вижу, где грубые ошибки в моем решении. Почему не проходит?
package com.javarush.task.pro.task09.task0905;
import java.util.regex.Pattern;
/*
Восьмеричный конвертер
*/
public class Solution {
public static void main(String[] args) {
int decimalNumber = 21;
System.out.println("Десятичное число " + decimalNumber + " равно восьмеричному числу " + toOctal(decimalNumber));
int octalNumber = 25;
System.out.println("Восьмеричное число " + octalNumber + " равно десятичному числу " + toDecimal(octalNumber));
}
public static int toOctal(int decimalNumber) {
for (int i=0;decimalNumber>0;i++){
int octalNumber=(int) (octalNumber+(decimalNumber%8)*Math.pow(10, i));
decimalNumber=decimalNumber/8;
return octalNumber;
}
}
public static int toDecimal(int octalNumber) {
for (int i=0;octalNumber>0;i++){
int decimalNumber=(int) (decimalNumber+(octalNumber%10)*Math.pow(8, i));
octalNumber=octalNumber/10;
//напишите тут ваш код
return decimalNumber;
}
}
}