import java.util.Locale; public class Utils { /** * ÐолÑÑаем колиÑеÑÑо Ñеловек Ð¾Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ * * @return int ÐолиÑеÑÑо Ñеловек */ public static int getPersonCount() { while (true) { String personCount = Main.scanner.next().replace(',', '.'); if (!isNumber(personCount)) { System.out.println("ÐекоÑÑекÑное знаÑение. ÐведиÑе ÑиÑло!"); } else { if (!isInteger(personCount)) { System.out.println("ÐекоÑÑекÑное знаÑение. ÐведиÑе Ñелое ÑиÑло!"); } else { int personCountInt = (int) Double.parseDouble(personCount); if (personCountInt == 1) { System.out.println("ÐÑ Ð¾Ð´Ð¸Ð½. ÐÐµÑ ÑмÑÑла в иÑполÑзовании ÐалÑкÑлÑÑоÑа ÑÑÑÑа."); } else if (personCountInt < 1) { System.out.println("ÐекоÑÑекÑное знаÑение. ЧиÑло менÑÑе 1"); } else { System.out.println("ÐÑлиÑно!"); return personCountInt; } } } } } /** * ФоÑмаÑиÑÑÐµÑ ÑÑÑÐ¾ÐºÑ Ñ Ñеной блÑда, оÑÑавлÑÑ ÑолÑко два ÑиÑла поÑле запÑÑой и добавлÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ валÑÑÑ * * @param price СÑоимоÑÑÑ Ð±Ð»Ñда * @return String ФоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÑÑока */ public static String formatPriceData(double price) { String formattedPrice = String.format(Locale.US, "%.2f ", price); String rubleWord; int lastDigitInPrice = ((int) price) % 10; // поÑледнÑÑ ÑиÑÑа int preLastDigitInPrice = ((int) price) % 100 / 10; // пÑедпоÑледнÑÑ ÑиÑÑа if (preLastDigitInPrice == 1) { rubleWord = "ÑÑблей"; } else { switch (lastDigitInPrice) { case (1): rubleWord = "ÑÑблÑ"; break; case (2): case (3): case (4): rubleWord = "ÑÑблÑ"; break; default: rubleWord = "ÑÑблей"; } } return formattedPrice + rubleWord; } /** * ÐÑовеÑÑеÑ, ÑÑо Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ð°Ñ ÑÑÑока ÑвлÑеÑÑÑ ÑиÑлом * * @param strNum ÐÐ²ÐµÐ´ÐµÐ½Ð½Ð°Ñ ÑÑÑока * @return boolean: true - ÑиÑло, false - не ÑиÑло */ public static boolean isNumber(String strNum) { try { Double.parseDouble(strNum); } catch (NumberFormatException nfe) { return false; } return true; } /** * ÐÑовеÑÑеÑ, ÑÑо Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ð°Ñ ÑÑÑока ÑвлÑеÑÑÑ ÑелÑм ÑиÑлом * * @param strNum ÐÐ²ÐµÐ´ÐµÐ½Ð½Ð°Ñ ÑÑÑока * @return boolean: true - Ñелое ÑиÑло, false - неÑелое ÑиÑло */ public static boolean isInteger(String strNum) { double number = Double.parseDouble(strNum); if (number % 1 == 0) { return true; } else { return false; } } }