Я решала эту задачу миллион часов, глаза уже застлала пелена слез, потому что я уже могу объяснить каждую букву в коде, каждый шаг, и если меня разбудить ночью я его напишу, НО почему он уходит в бесконечный цикл? Я уже сдалась и открыла "правильное решение", вроде подправила свой код по мелочам, не переписывая его с нуля (а может и надо было?), но все равно летит в бесконечность
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) {
int octalNumber=0;
if (decimalNumber<=0){
return octalNumber;
}
int i=0;
while (decimalNumber!=0){
octalNumber = (int)(octalNumber+(decimalNumber%8)*Math.pow(10,i++));
decimalNumber=decimalNumber/8;
}
return octalNumber;
}
public static int toDecimal(int octalNumber) {
int decimalNumber=0;
if(octalNumber<=0){
return decimalNumber;
}
int i=0;
while (octalNumber!=0){
decimalNumber = (int)(decimalNumber +(octalNumber%10)*Math.pow(8,i++));
}
return decimalNumber;
}
}