import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.println("Ðа ÑколÑко пеÑÑон Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ поделиÑÑ ÑÑеÑ: "); Scanner scanner = new Scanner(System.in); int countPerson = 0; Calculator calc = null; countPerson = scanner.hasNextInt() ? scanner.nextInt() : 0; if (countPerson <= 0){ System.out.println("ÐолиÑеÑÑво Ñеловек не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÑиÑаÑелÑнÑм или ÑавнÑм нÑлÑ! Ðибо введено ÑлиÑком болÑÑое ÑиÑло!"); }else if(countPerson == 1){ System.out.println("ÐÐµÑ ÑмÑÑла в ÑабоÑе пÑогÑÐ°Ð¼Ð¼Ñ Ð¿Ñи колиÑеÑÑве пеÑÑон Ñавном 0"); }else { System.out.println("ÐÑ Ð¿Ð»Ð°Ð½Ð¸ÑÑеÑе ÑазделиÑÑ ÑÑеÑа на "+countPerson+" Ñел."); calc = new Calculator(countPerson); buildCheck(calc); System.out.println("ÐÑоговÑй Ñек: "); calc.printCheck(); System.out.println("РоплаÑе иÑого: "+calc.sum()+" "+calc.rubRightWrite(calc.sum())); System.out.println("Ð Ñом ÑиÑле Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ñлена ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ "+calc.calcPastPay()+" "+calc.rubRightWrite(calc.calcPastPay())); } } public static void buildCheck(Calculator calc){ String next = "" ; double price ; Scanner scanner = new Scanner(System.in); while(!next.equals("завеÑÑиÑÑ")){ System.out.println("ÐведиÑе наименование ÑоваÑа: "); System.out.print("-> "); String tmp = scanner.next(); boolean check = false; String strPrice = ""; while (!check) { System.out.println("СÑоимоÑÑÑ:"); System.out.print("-> "); strPrice = scanner.next(); check = verifyDouble(strPrice); if(!check){ System.out.println("Ðе пÑавилÑнÑй ввод. ÐоÑобÑйÑе еÑе."); } } price = Double.parseDouble(strPrice); calc.add(new Product(tmp,price)); System.out.println("ÐобавиÑÑ ÐµÑе ÑоваÑ? Ðа: лÑбой Ñимвол + Enter, ÐаконÑиÑÑ Ð²Ð²Ð¾Ð´: ÐавеÑÑиÑÑ + Enter"); next = (scanner.next().toLowerCase()); } } public static boolean verifyDouble(String str){ boolean rez = false; char[] chArr = str.toCharArray(); int countPoint = 0; for(char i: chArr){ if(Character.isDigit(i)){ rez = true; }else if(i == '.'){ countPoint++; }else{ rez = false; return rez; } } if(countPoint > 1){ rez = false; } return rez; } }