Может кто-нибудь объяснить мне код на Java?

Может кто-нибудь объяснить мне код на Java? Как% и / = получают все суммы ввода? Я запутался в логике кода. Спасибо.

(Суммируйте цифры в целом числе) Напишите программу, которая читает целое число от 0 до 1000 и добавляет все цифры в целое число. Например, если целое число равно 932, сумма всех его цифр равна 14. Совет. Используйте оператор% для извлечения цифр и оператор / для удаления извлеченной цифры. Например, 932% 10 = 2 и 932/10 = 93.

import java.util.Scanner;

public class Exercise_02_06 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);     // Create new Scanner object

        // Prompt the user to enter a number between 0 and 1000.
        System.out.print("Enter a number between 0 and 1000: ");
        int number = input.nextInt();

        // Compute the sum of the digits in the integer.
        int lessThan10 = number % 10;       
        number /= 10;                           
        int tens = number % 10;             
        number /= 10;                           
        int hundreds = number % 10;     
        number /= 10;                           
        int sum = hundreds + tens + lessThan10; 

        // Display results
        System.out.println("The sum of the digits is " + sum);
    }
}

Всего 1 ответ


% является оператором остатка. Таким образом, 14% 10 равно 4. А с целочисленной арифметикой дробь, когда она делится, отбрасывается. поэтому 14/10 это 1.

So follow this.

total = 0
numb = 932
int n = numb % 10 = 932 % 10 = 2
total = total + n = 2

numb = numb /10 = 93
n =  numb % 10 = 93 % 10 = 3
total = total + n = 2 + 3 = 5

numb = numb / 10 = 9
n = numb % 10 = 9 % 10 = 9
total = total + 9 = 5 + 9 = 14

9 + 3 + 2 = 14



Есть идеи?

10000