Создает сразу 2 объекта
Задача: создать объект, при вводе пользователем символа "1".
Фрагмент кода класса Basket:
public class Basket extends Item{
private int ID;
private static int nextID = 1;
static Basket basket = new Basket();
public void createBasket() {
basket = new Basket();
}
}
Фрагмент кода класса Menu:
public class Menu extends Basket{
public void authorisation(ArrayList<Personal> arr) {
private String userName;
private String password;
private byte menuAction;
while (true) {
System.out.print("Username: ");
userName = input.nextLine();
System.out.print("Password: ");
password = input.nextLine();
for (int i = 0; i < arr.size(); i++) {
if (arr.get(i).getUserName().equals(userName) && arr.get(i).getPassword().equals(password)) {
startMenu();
}
}
System.out.println("Wrong username or\\and password.\n\r" +
"Please, type again.\r\r");
}
}
public void startMenu() {
while (true) {
System.out.println("\n\rPlease, choose action: \n\r" +
" 1) New Basket\n\r" +
" 2) Insert item in basket\n\r" +
" 3) Remove item from basket\n\r" +
" 4) Print information for basket with a certain ID\n\r" +
" 5) Apply discount to basket with 10% for Christmas promotion\n\r" +
" 6) Exit");
System.out.println(basket.getIDBasket());
System.out.println(basket.getNextID());
menuAction = input.nextByte();
switch (menuAction) {
case 1:
createBasket();
break;
default:
System.out.println("Wrong input!");
break;
}
}
Вопрос:
- почему когда я запускаю программу, у меня создается Basket. То есть getIdBasket уже = 1, хотя я еще не создавал его, должно быть null, по идеи.
- Когда нажимаешь 1 - id basket становится 3, то есть когда то успел создаться второй Basket. После, идет по порядку id=4, 5, 6.. В чем проблема, почему перескакивает?
Надеюсь понятно объяснил, сам толком не понимаю как сформулировать эту мысль.
Благодарю за помощь!
Ответы (1 шт):
Автор решения: fox
→ Ссылка
попробуйте так, не то вы 2 раза basket создали. public class Basket extends Item{
private int ID;
private static int nextID = 1;
static Basket basket;
public void createBasket() {
basket = new Basket();
}
}
