Изготовление продуктовой корзины

-1
задан Hovercraft Full Of Eels 19 January 2019 в 03:19
поделиться

1 ответ

К сожалению, в этой программе слишком много ошибок, чтобы сделать это простым исправлением. Вам действительно нужно уменьшить свою программу и поработать над тем, чтобы сделать ее максимально простой. Ваша программа намного больше, чем нужно.

Вы не можете иметь два открытых класса в одном файле. Ваш класс "GroceryPackage", кажется, не предоставляет ничего, что вы не можете сделать с помощью методов вашей переменной ArrayList "listofGrocery", кроме отслеживания цен (что он не делает). Это излишне усложняет программу.

Вы можете просто удалить его «публичное» ключевое слово или сделать его закрытым или статическим внутренним классом Main. Однако я бы предложил просто избавиться от этого. Я действительно не думаю, что вам это нужно.

Технически, вы еще не достигли шага 2. Ничто не мешает дублировать значения в вашем ArrayList. Я бы использовал HashMap<String, Double> вместо этого. Это позволит вам хранить «продукты» в виде строк, а их цены - в виде двойных значений.

Вы можете использовать методы «getter» и «setter» в GroceryPackage для получения, изменения и возврата вашего ArrayList, получения переменной напрямую с помощью GroceryPackage.listofGrocery (listofGrocery не будет работать с этим, если переменная является закрытой), или просто сделайте это атрибутом вашего основного класса. Последний самый простой вариант.

Я заметил, что вы никогда не инициализировали переменную listofGrocery как атрибут GroceryPackage.

Стилистически «listofGrocery» должен быть «listOfGrocery».

Вы не используете атрибут "grocery1" в GroceryList.

Чтобы решить второй шаг, в корзину не нужно добавлять повторяющееся имя.

Либо переберите все значения в структуре данных, либо используйте структуру данных, которая выдает исключение или возвращает предсказуемое значение, если добавляемое значение имеет дубликат внутри. Убедитесь, что независимо от того, что вы делаете, вы не заменяете значения, которые уже находятся внутри структуры данных.

Чтобы решить третий шаг, «пользователи должны иметь возможность удалить продуктовый продукт с указанным именем».

Вы пытаетесь дать свой метод «removeGrocery ()» аргумент, даже если это не займет ничего. Кроме того, метод clear () удаляет все значения во всем ArrayList. Внимательно рассмотрите методы, доступные для любой структуры данных, которую вы выберете.

На четвертом шаге «пользователи должны иметь возможность видеть все содержимое корзины».

Выполнять итерацию по всему содержимому корзины.

Подводя итог.

Я в основном избегал давать вам прямые ответы на вопросы вашей программы. Тем не менее, надеюсь, вы можете взять то, что я сказал, и понять, где вы ошиблись. На самом деле существуют тысячи различных способов заставить вашу программу соответствовать требованиям. Обязательно внимательно прочитайте javadocs онлайн. Они бесценны . Наконец, я заметил, что вы никогда не используете циклы в своей программе. Это лучший друг начинающего программиста. Научитесь любить их.

0
ответ дан LuminousNutria 19 January 2019 в 03:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: