Перед тем как я явно указал компилятору что число int, он ругался на то что получается double собственно
package untitled3;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
int decimalNumber = 15;
System.out.println("Десятичное число " + decimalNumber + " равно восьмеричному числу " + toOctal(decimalNumber));
int octalNumber = 42;
System.out.println("Восьмеричное число " + octalNumber + " равно десятичному числу " + toDecimal(octalNumber));
}
public static int toOctal(int decimalNumber) {
int octalNumber =00;
for (int i = 0; decimalNumber!=0;i++) {
octalNumber += (decimalNumber % 8) * Math.pow(10, i);
decimalNumber=decimalNumber/8;
}
return octalNumber;
}
public static int toDecimal(int octalNumber) {
int decimalNumber =0;
for (int i=0;octalNumber!=0;i++) {
decimalNumber=(int)(decimalNumber+(octalNumber%10) * Math.pow(8,i));
octalNumber=octalNumber/10;
}
return decimalNumber;
}
}
Павел Соломахин
11 уровень
Почему результат вычислений в цикле считается double?
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #3303140
10 ноября 2024, 16:24решение
Потому что Math.pow() возвращает double.
+2
Павел СоломахинРаботает в коробке из под телик
11 ноября 2024, 07:30
Спасибо!
0