Логика функции Math.random() и ее округления

Вот класс:

class yprajnenie_9_14
{
  public static void main (String [] args)
  {
    int a, a2;
    a=10 + (int)(99*Math.random()); //Диапазон от 10 до 99 (двухзначные числа)
    a2 = a % 10; //Поиск числа единиц 

    if (a2 == 0) //Если число единиц равно нулю, вывести значение a на экран
      System.out.println(a);

    if (a2 != 0)  //Если число единиц не равно нулю, поменять значение a2 на ноль, после вывести a на экран 
    {
      a2 = 0;
      System.out.println(a);
    }
  }
}

Ожидаемо, что если функция Math.random() предоставит, например, 64, то на экран будет выведено "60", но выводит совершенно другое число. С чем это может быть связано,механикусы?


Ответы (1 шт):

Автор решения: Эникейщик

А с чего это вдруг ожидаемо, что выведет 60? Выводит а и это именно то случайное число, которое было сгенерировано. a2 приравняли к 0? Ну окей. Вот только а2 не имеет ни малейшего отношения к а.

→ Ссылка