Repository navigation
Conversation
ArturNurtdinov
left a comment
There was a problem hiding this comment.
Хорошая работа, круто, что ты поработала с форматом и даже с коллекцией ArrayList
| public static boolean isNumeric(String str) | ||
| { | ||
| try | ||
| { | ||
| Integer.parseInt(str); | ||
| return true; | ||
| } | ||
| catch(NumberFormatException e) | ||
| { | ||
| return false; | ||
| } | ||
| } |
There was a problem hiding this comment.
Если проверять так, то получается, что тебе приходится каждый раз по 2 раза вызывать функцию parseInt - сначала для проверки, а второй раз чтобы получить число после проверки. Можно обойтись одним вызовом, а у класса Scanner есть функции hasNextInt и hasNextFloat, которые помогут избежать лишних вызовов парсинга
| if(isNumeric(enter)) | ||
| { | ||
| int countPeople = Integer.parseInt(enter); |
There was a problem hiding this comment.
Вот тут получается два вызова Integer.parseInt, один в вызове функции isNumeric, второй - при присовении значения переменной countPeople. Можно здесь обойтись одним вызовом
| else | ||
| { | ||
| System.out.println("Ошибка, введите числовое значение"); | ||
| enter = enter().replace(',','.'); |
There was a problem hiding this comment.
Много где повторяется enter().replace(',','.');, это можно вынести в отдельную функцию
| String[] a = String.valueOf(result).split("[.]"); | ||
| int integralPart = Integer.parseInt(a[0]); | ||
| int endOne = integralPart%10; | ||
| int endTwo = integralPart%100; |
There was a problem hiding this comment.
Чтобы получить последние две цифры числа не обязательно нужно работать со строкой и парсить заново. Можно чисто операциями деления добиться двух последних цифр числа, например:
последнюю цифру можно получить, взяв остаток от деления на 10
последние 2 цифры - остаток от деления на 100
работа практическая 1