Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Comments

Первая домашка: 4 попытка#1

Open
ShKeril wants to merge 5 commits intomain from
dev
Open

Первая домашка: 4 попытка #1
ShKeril wants to merge 5 commits intomain from
dev

Conversation

@ShKeril
Copy link
Owner

@ShKeril ShKeril commented Nov 7, 2023

No description provided.

Copy link
Owner Author

ShKeril commented Nov 7, 2023

Не знаю можно ли предыдущие комиты удалить да и нужно ли

Copy link
Owner Author

ShKeril commented Nov 7, 2023

  1. Обработка некорректных данных - честно говоря думал что функция NextInt() NextFloat() как бы подразумевают такую проверку иначе они мало чем отличаются от nextLine(). Ощущение что эти функции недоделаны
  2. По второму пункту сделал двойное деление по модулю вместо проверки диапазона. результат тот же но красивее

}
}

class Calculation {
Copy link

@kgornostaeva kgornostaeva Nov 8, 2023

Choose a reason for hiding this comment

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

🍏 В Java принято каждый класс располагать в отдельном файле


Calculation calculation = new Calculation(numberPersons);

System.out.println("Введите название товара и его стоимость");
Copy link

@kgornostaeva kgornostaeva Nov 8, 2023

Choose a reason for hiding this comment

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

🍏 Классно было бы подсказать пользователю, в каком формате от него ожидаются данные. Например, [название руб.коп]. А также предложить способ выхода из сценария

public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
public void main(String[] args) {
Copy link

@kgornostaeva kgornostaeva Nov 8, 2023

Choose a reason for hiding this comment

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

⚠️

Suggested change
public void main(String[] args) {
public staticvoid main(String[] args) {

https://javarush.com/groups/posts/modifikator-static-java

} else {
while (true) {
if (scanner.hasNextDouble()) {
double amount = scanner.nextDouble();
Copy link

@kgornostaeva kgornostaeva Nov 8, 2023

Choose a reason for hiding this comment

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

🍏

Suggested change
double amount = scanner.nextDouble();
double price = scanner.nextDouble();


System.out.println("На сколько человек необходимо разделить счёт?");

Scanner scanner = new Scanner(System.in);
Copy link

@kgornostaeva kgornostaeva Nov 8, 2023

Choose a reason for hiding this comment

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

🍏 Немного поехало форматирование. Для форматирования кода и удаления неиспользуемых импортов применяй следующие сочетания клавиш:
Windows: Control+Alt+L
MacOS: Command+Option+L
Больше горячих клавиш можно найти здесь: https://developer.android.com/studio/intro/keyboard-shortcuts

while (true) {
if (scanner.hasNextDouble()) {
double amount = scanner.nextDouble();
if (amount > 1) {
Copy link

@kgornostaeva kgornostaeva Nov 8, 2023

Choose a reason for hiding this comment

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

⚠️ Товар может стоить и рубль, я бы предложила использовать сравнение с 0


System.out.println("Введите название товара и его стоимость");

while (true) {
Copy link

@kgornostaeva kgornostaeva Nov 8, 2023

Choose a reason for hiding this comment

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

🍏 Рекомендую разделять большие методы на методы поменьше. Например, можно вынести этот цикл в отдельный метод


class Calculation {

String productList = "Добавленные товары:";
Copy link

@kgornostaeva kgornostaeva Nov 8, 2023

Choose a reason for hiding this comment

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

🍏 Можно сохранять товары в список и производить объединение в строку для печати в самом конце. Это дает больше гибкости в использовании данных, полученных от пользователя. Также не будет создаваться множество промежуточных строк, если для формирования финальной строки использовать StringBuilder множественной конкатенации с помощью +.
https://habr.com/ru/articles/260767/

break;
}

return String.format("%.2f", result) + ending;
Copy link

@kgornostaeva kgornostaeva Nov 8, 2023

Choose a reason for hiding this comment

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

🍏

Suggested change
return String.format("%.2f", result) + ending;
return String.format("%.2f %s", result, ending);

}

public void addProduct(String product, double price) {
productList = productList + "\n" + String.format("%s стоимость: %.2f %s", product, price, getEnding(price));
Copy link

@kgornostaeva kgornostaeva Nov 11, 2023

Choose a reason for hiding this comment

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

🍏

Suggested change
productList = productList + "\n" + String.format("%s стоимость: %.2f %s", product, price, getEnding(price));
productList = String.format("%s\n%s стоимость: %.2f %s", productList, product, price, getEnding(price));

System.out.println("Введите стоимость товара (руб,коп).");
try {
double price = scanner.nextDouble();
if (price > 1) {
Copy link

@kgornostaeva kgornostaeva Nov 11, 2023

Choose a reason for hiding this comment

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

⚠️ Числа, больше 0 до 1 включительно тоже сичтаются положительными, и может быть товар с ценой в 1 рубль или 50 копеек

@ShKeril ShKeril changed the title (削除) Первая домашка: 2 попытка (削除ここまで) (追記) Первая домашка: 4 попытка (追記ここまで) Nov 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

1 more reviewer

@kgornostaeva kgornostaeva kgornostaeva left review comments

Reviewers whose approvals may not affect merge requirements

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /