See More

public class EndofRUB { // Метод проверки падежа и окончания в слове руб. // Для определения нужного падежа достаточно проверять последние 1-2 цифры числа //Для этого выделяем их из числа с помощью Math.floor()-возвращает число ближайшее // к аргументу слева. Если остаток будет равен 1 -окончание "рубль", если 11 - "рублей" // аналогично с 2;3 и 4.Поэтому необходимое условие для этих цифр result % 100 >= 11 && result % 100 <= 14 public static void endOfWord(double single) { if ((int) Math.floor(single) % 100 >= 11 && (int) Math.floor(single) % 100 <= 14) { System.out.printf("%.2f рублей%n",single); } else { switch ((int)Math.floor(single)%10) { case 1: System.out.printf("%.2f рубль%n",single); break; case 2: case 3: case 4: System.out.printf("%.2f рубля%n",single); break; default: System.out.printf("%.2f рублей%n",single); break; } } } } //1- рубль //2- рубля //3- рубля //4- рубля //5- рублей //6- рублей //7- рублей //8- рублей //9- рублей //10- рублей //11- рублей //12- рублей //13- рублей //14- рублей //15- рублей //16- рублей //17- рублей //18- рублей //19- рублей //20- рублей