JavaRush
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Почему не засчитали программу? считает все правильно, выв...
Klimkin Anatolii
8 уровень
  • 19.10.2018
  • 809просмотров
  • 5комментариев

Почему не засчитали программу? считает все правильно, выводит 15

Вопрос по задаче Сума цифр трехзначного числа
Java Syntax,  3 уровень,  12 лекция
Решен


Напиши код метода sumDigitsInNumber(int number). Метод на вход принимает целое трехзначное число. Нужно посчитать сумму цифр этого числа, и вернуть эту сумму.

Пример:
Метод sumDigitsInNumber вызывается с параметром 546.

Пример вывода:
15

Требования:
  • Программа не должна считывать данные с клавиатуры.
  • Метод sumDigitsInNumber(int) должен быть публичным и статическим.
  • Метод sumDigitsInNumber должен возвращать значение типа int.
  • Метод sumDigitsInNumber не должен ничего выводить на экран.
  • Метод sumDigitsInNumber должен правильно возвращать сумму всех цифр в числе number.
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 a1; int a12; int a2; int a3; a1 = number/100; a12 = number/10; a2 = a12/10; a3 = a12/10; number = a1+a2+a3; return number; } }
0
Комментарии (5)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Иван Мод
Уровень 12
20 октября 2018, 07:17
Смотри это лучше всего использовать в цикле (фиксированном, та как у тебя 3-х значное число). У тебя есть какое-то 3-х значное число. Ты должен каждую цифру отделить от начально числа, для этого используем встроенную функцию mod (оператор деления с остатком(возращает остаток от деления) % в СИ и Java). Для этого создаем временную переменную в которую будем записывать остаток. а потом наше начальное число делить на десять чтобы уменьшить его разрядность. При этом в нашей временной переменной есть остаток от деления, его мы и записываем в нашу сумму. Повторяем процедуру 3 раза (так как у нас фиксированное число). И посредство оператора возврата return вовзращаем полченную сумму.
public static int sumDigitsInNumber(int number) {
       int sum=0,d=0;
       for(int i=0;i<3;i++){
           d=number%10;
           number=number/10;
           sum+=d;
       }
       return sum;
   }
Естественно можно сделать универсальное решение, делить число пока оно не превратиться в ноль с помощью операций деления с остатком. Допустим так
public static int sumDigitsInNumber(int number) {
int sum=0;
while (number != 0) {
     sum += number % 10;
     number /= 10;
 }
return sum;
}
+5
Klimkin Anatolii
Уровень 8
19 октября 2018, 12:39
Спасибо решила, решение оказалось в одну строчку)
0
Евгений Java Developer Expert
19 октября 2018, 12:29
Ещё небольшая подсказка - решение задачи будет универсальным, а не только для 3-хзначных чисел.
+2
Шкипер
Уровень 16
19 октября 2018, 11:58
http://www.javaforstudents.co.uk/Code_snippets/Sum_of_digits_of_a_number
0
--------
Уровень 40
Master
19 октября 2018, 11:53полезный
Тестируй:
System.out.println(sumDigitsInNumber(123));
+1
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush