Так что в основном я создаю программу ставок, где Player1, Player2, Player3 и т. Д. Являются объектами, и каждый из них имеет пять инициализированных полей -1, что означает, что ставки еще не установлены.Использование объекта без параметров конструктора java
Я прошу пользователей ввести номер своей ставки (эти числа являются целыми числами внутри массива), и они могут иметь максимум до пяти ставок, объясняя пять инициализированных полей -1.
Проблема в том, что я не могу найти способ заставить некоторых игроков вводить только 1 или 2 ставки, в то время как другие входы 4 и еще 5, например. Моя программа заставляет каждого пользователя вводить 5 целых чисел EVEN, если они отказываются делать ставки 5 раз. В любом случае я могу сделать эту работу?
Так вот мой класс драйвера: (другая его часть не имеет значение)
System.out.println("Wheel : 0-32-15-19-4-21-2-25-17-34-6-27-13-36-11-30-8-23-10-5-24-16-33-1-20-14-31-9-22-18-29-7-28-12-35-3-26");
System.out.println("Dealer…Place your bets");
// initializing the six players of the game
Player player1 = new Player(-1,-1,-1,-1,-1);
System.out.println("Player 1: ");
int number1 = keyin.nextInt();
int number2 = keyin.nextInt();
int number3 = keyin.nextInt();
int number4 = keyin.nextInt();
int number5 = keyin.nextInt();
System.out.println("");
Player player2 = new Player(-1, -1, -1, -1, -1);
System.out.println("Player 2: ");
number1 = keyin.nextInt();
number2 = keyin.nextInt();
number3 = keyin.nextInt();
number4 = keyin.nextInt();
number5 = keyin.nextInt();
System.out.println("");
Player player3 = new Player(-1, -1, -1, -1, -1);
System.out.println("Player 3: ");
number1 = keyin.nextInt();
number2 = keyin.nextInt();
number3 = keyin.nextInt();
number4 = keyin.nextInt();
number5 = keyin.nextInt();
System.out.println("");
Player player4 = new Player(-1, -1, -1, -1, -1);
System.out.println("Player 4: ");
number1 = keyin.nextInt();
number2 = keyin.nextInt();
number3 = keyin.nextInt();
number4 = keyin.nextInt();
number5 = keyin.nextInt();
System.out.println("");
Player player5 = new Player(-1, -1, -1, -1, -1);
System.out.println("Player 5: ");
number1 = keyin.nextInt();
number2 = keyin.nextInt();
number3 = keyin.nextInt();
number4 = keyin.nextInt();
number5 = keyin.nextInt();
System.out.println("");
Player player6 = new Player(-1, -1, -1, -1, -1);
System.out.println("Player 6: ");
number1 = keyin.nextInt();
number2 = keyin.nextInt();
number3 = keyin.nextInt();
number4 = keyin.nextInt();
number5 = keyin.nextInt();
System.out.println("");
А вот мой другой класс для игроков:
public class Player {
int number1;
int number2;
int number3;
int number4;
int number5;
// constructor for each player at the table
public Player(int number1, int number2, int number3, int number4, int number5) {
this.number1 = number1;
this.number2 = number2;
this.number3 = number3;
this.number4 = number4;
this.number5 = number5;
number1, number2 ... представляет пять ставок.
Также, чтобы уточнить, пользователю не может быть предложено ввести определенный символ String, int, char, чтобы программа знала, что он/она выполнил ввод своих ставок. Он должен выглядеть следующим образом
Player 1: 12 13 15
Player 2: 0 5 4
Вы уже узнали о списках? (или массивы) – immibis
@immibis Да У меня есть – X1XX
Предполагая, что keyin является «java.util.Scanner Object», программа всегда запрашивает пять чисел, потому что вы заставляете программу запрашивать пять чисел. Вместо 'nextInt()' делать 'nextLine()' и анализировать строку в integer с помощью 'Integer.parseInt()', если вход в 'nextLine()' является только '\ n' (return key), предположим, что он не делайте ставки и переходите к следующему игроку. Или установите, что вы являетесь собственным соглашением, например, если пользователь вводит «больше не» или что-то в этом роде. Затем сопоставьте свой ввод с ним на каждом входе. – anu