Я написал программу Nim Game. это работает нормально, если я использую две строки для первого игрока и второго игрока. Я хочу создать класс игрока. Я мог бы получить ответ. Вы можете помочь мне? Спасибо Без объекта у меня не было проблем.
public class NimPlayer {
public String name;
public NimPlayer(){
}
public NimPlayer(String n){
name = n;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
}
public class nimsys {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Welcome to Nim");
String playerOne;
String playerTwo;
NimPlayer player[] = new NimPlayer[1];
while(true){
System.out.println("Please enter Player 1's name:");
player[0].setName(keyboard.nextLine()) ;
if (player[0].name.contains(" ")|| (player[0].name.length()==0)){
System.out.println("You name must not contains Space Please Enter Again");
continue;}
else
break;
}
while(true){
System.out.println("Please enter Player 2's name:");
player[1].name = keyboard.nextLine();
if (player[1].name.contains(" ") || (player[1].name.length()==0 )){
System.out.println("You name must not contains Space Please Enter Again");
continue;}
else
break;
}
System.out.println("Please enter initial number of stones:");
int initial = keyboard.nextInt();
System.out.println("Please enter upper bound of stone removal: ");
int upperBound = keyboard.nextInt();
System.out.print(initial + " Stones Left :");
for(int i=1;i <= initial;i++){
System.out.print(" * ");
}
System.out.print("\n\n");
boolean turn = true;
int chosen ;
while(true){
while(turn == true){
if (initial == 1){
System.out.print(player[1].name + " Lost");
break;
}
System.out.println(player[0].name + "'s " + "Turn - Remove How Many? ");
chosen = keyboard.nextInt();
if(chosen > upperBound){
System.out.println("The chosen number MUST Not exceed the upperbound");
continue;
}
initial = initial - chosen;
System.out.print(initial + " Stones Left :");
for(int i=1;i <= initial;i++){
System.out.print(" * ");
}
turn = false;
}
System.out.print("\n\n");
while(turn == false){
if (initial == 1){
System.out.print(player[0].name + " Lost");
break;
}
System.out.println(player[1].name + "'s " + "Turn - Remove How Many? ");
chosen = keyboard.nextInt();
if(chosen > upperBound){
System.out.println("The chosen number MUST Not exceed the upperbound");
continue;
}
initial = initial - chosen;
System.out.print(initial + " Stones Left :");
for(int i=1;i <= initial;i++){
System.out.print(" * ");
}
System.out.print("\n\n");
turn = true;
}
if(turn == true)
continue;
else if(initial == 1)
break;
else
break;
}
}
}
Я добавил некоторый код и изменил несколько его частей, но сообщение не может быть отправлено. Хорошо, если это сообщение появляется при задании нового вопроса, но оно появляется, когда я пытаюсь повторно отправить отредактированное сообщение.