Добрый день.
Подскажите плиз почему результат выражения
double aaa2 = (546-(5*100))/10;
у меня получается 4.0, а не 4.6?
kazzdim
1 уровень
Помогите!!!!
Обсуждается
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
АйТи Юрчик
18 августа 2020, 07:28
а зачем это вообще тебе? легче же через инт посчитать, переменная инт содержит только целые числа, то есть если int a = 1234/100, то а будет равно 12. А в задаче нам как раз и надо разбить число на сотни, десятки и единицы, а потом это все сложить. Чел снизу выложил все решение, что я думаю совсем не правильно. Люди должны сами решать.
0
АйТи Юрчик
18 августа 2020, 07:57
Хотя у него снизу решение неправильное, оно не посчитает решение с разными данными.
0
hidden #2401865
16 августа 2020, 14:57
package com.javarush.task.task01.task0132;
/*
Сумма цифр трехзначного числа
*/
public class Solution {
public static void main(String[] args) {
System.out.println(sumDigitsInNumber(546));
}
public static int sumDigitsInNumber(int number) {
int a = number/100;
int b = (number/10) - a*10;
int c = number - a*100 - b*10;
return a + b + c;
}
}
0
kazzdimпрограммист в ----
14 августа 2020, 10:46
Сделал double aaa2 = (546-(5*100.0))/10;
выдало нормально.
СПАСИБО.
0
hidden #2322530
14 августа 2020, 10:41
потому что вначале происходят все вычисления с типом int у тебя.
а уже результат переводится в тип double.
0