Задать вопрос
PRAIT
@PRAIT

Как правильно считается остаток от деления?

Всем привет, есть пример кода в котором всё предельно понятно.
Нужно написать программу в которую пользователь вводит число 13767 и получает его же в ответ.

import pack;

public class Test {

  public static void main(String[] args) {
    try (Scanner sc = new Scanner(System.in)) {
      int number, a, b, c, d, e;
      System.out.println("number");
      number = sc.nextInt();
      a = number / 10000;
      b = number % 10000 / 1000;
      c = number % 1000 / 100;
      d = number % 100 / 10;
      e = number % 10;
      System.out.println(+a);
      System.out.println(+b);
      System.out.println(+c);
      System.out.println(+d);
      System.out.println(+e);
    }
  }
}


A = в 13767 помещается 10000 один раз и т.д
Есть ещё одна программа число 45139

import java.util.Scanner;

public class Test {

  public static void main(String[] args) {
    try (Scanner sc = new Scanner(System.in)) {
      int number, a, b, c, d, e;
      System.out.println("number");
      number = sc.nextInt();
      a = number / 11284;
      b = number % 10000 / 1000;
      c = number % 1000 / 100;
      d = number % 100 / 10;
      e = number % 10;
      System.out.println(+a);
      System.out.println(+b);
      System.out.println(+c);
      System.out.println(+d);
      System.out.println(+e);
    }
  }
}

Тут тоже она выводит всё правильно, только не пойму почему если остаток от деления в b написать верный 11284 программа ломается? Я точно чего то не понимаю. Пожалуйста направьте, скажите что делаю не так?
  • Вопрос задан
  • 738 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
RiseOfDeath
@RiseOfDeath
Диванный эксперт.
Для начала определитесь что вы подразумеваете под словом "ломается" - она падает(Exeption), выдает не верный результат (отличный от ожидаемого), просит сначала сводить ее в кино? (К стати, насколько я вижу она работает)

Просто просто в несколько столбиков для каждоый строки напишите: Чему (по вашему) должны быть равны ваши переменные перед выполнением, что (по вашему) должно получиться в результате, чему на самом деле равны ваши переменные перед выполнением, что на самом деле получилось в результате.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы