Skip to content

first commit in first project practicum#1

Open
And0nata wants to merge 3 commits intomainfrom
dev
Open

first commit in first project practicum#1
And0nata wants to merge 3 commits intomainfrom
dev

Conversation

@And0nata
Copy link
Copy Markdown
Owner

@And0nata And0nata commented Jun 4, 2023

No description provided.


static private int countFriends=0;
double countMoney;
static Scanner sc=new Scanner(System.in);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Некритичное замечание: хорошей практикой является делать вызов scanner.close() после того, как сканнер больше не используется. Это необходимо для того, что бы этот объект не потреблял ресурсы, тогда когда это уже не требуется.

public static int inputCountFriends(double countMoney) {
do {
System.out.println("На скольких человек необходимо разделить счёт?");
countFriends = sc.nextInt();
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

приложение завершается с ошибкой в строке countFriends = sc.nextInt() при вводе букв. Здесь нужно или обработать исключение, или сделать предварительно проверку if(sc.hasNextInt()){...}

while(true) {
System.out.println("Введите стоимость товара");
String stringPrice = sc.nextLine();
price = Double.parseDouble(stringPrice);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

приложение падает с ошибкой в строке price = Double.parseDouble(stringPrice); при вводе букв или символов, которые невозможно распарсить в число double. Здесь нужно или обработать исключение, или сделать предварительно проверку if(sc.hasNextDouble()){...}

@@ -0,0 +1,42 @@
import java.util.Scanner;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В java принят определенный стиль форматирования кода. Если не вдаваться в подробности, то отформатировать код можно быстрой комбинаций клавиш Ctrl+Alt+L(Windows) или (⌘+⌥+L)(Mac)

public static int inputCountFriends(double countMoney) {
do {
System.out.println("На скольких человек необходимо разделить счёт?");
countFriends = sc.nextInt();
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Некритичное замечание: эта переменная не используется, ее можно удалить.

price = Double.parseDouble(stringPrice);
if (price < 0) {
System.out.println("Неправильная стоимость товара");
continue;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Некритичное замечание: этот continue можно убрать - все равно дальше программа закончит эту итерацию цикла и перейдет к следующей

inputName = sc.nextLine();
inputName = inputName.trim();
if (inputName.equalsIgnoreCase("Завершить")) break;
else continue;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Некритичное замечание: этот continue можно убрать - все равно дальше программа закончит эту итерацию цикла и перейдет к следующей

System.out.println("Hello world!");
Scanner sc=new Scanner(System.in);

try {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Некритичное замечание: заворачивать почти весь код метода в блок try - не очень хорошая практика, тк мы точно не узнаем где произошла ошибка. Рекомендуется делать это точечно, то есть мы точно знаем , где большая вероятность возникновения исключений: при считывании и парсинге того, что вводит пользователь ( sc.nextInt(), sc.nextDouble(), Double.parseDouble() ) .Лучше обработать исключения именно в этих строках или же избежать возникновения исключения(если это, конечно, возможно). Здесь можно сделать проверку if(sc.hasNextInt()){}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants