Не могу разобраться с конструкторами и ссылочными переменными
Игра в угадывание загаданного числа по очереди, вводя с клавиатуры двумя игроками. Код работает, но не по заданию.
По заданию нужно произвести инициализацию полей объектов и методов с помощью конструктора, но я не пойму как это здесь можно сделать. А так же хочу понять как вместо
System.out.println("The first is a winner " + checkNumOne);
было
System.out.println("Имя игрока которое ввел в начале игры" + is a winner " + checkNumOne);
пробывал через объект oneWin класса GuessNumberTest сделать так:
System.out.println(oneWin.nameFirst + is a winner " + checkNumOne);
но выдает ошибку что он не видит oneWin.nameFirst.
import java.util.Scanner;
import java.util.Random;
public class GuessNumber {
void play() {
int numberOne; // переменная для хранения введенного числа
int numberTwo;
boolean checkNumOne = false; // переменная проверки числа
boolean checkNumTwo = false;
Random random = new Random();
int compNumber = random.nextInt(100) + 1;
System.out.println("My number in my head... Let guess!");
while(true) {
System.out.println("You must guess the number " + compNumber);
Scanner scanOne = new Scanner(System.in);
Player playerOne = new Player();
playerOne.number = scanOne.nextInt();
System.out.println("I think this number " + playerOne.number);
numberOne = playerOne.number;
System.out.println("The first player thinking this number " + numberOne);
if(playerOne.number == compNumber) {
checkNumOne = true;
}
Scanner scanTwo = new Scanner(System.in);
Player playerTwo = new Player();
playerTwo.number = scanTwo.nextInt();
System.out.println("I think this number " + playerTwo.number);
numberTwo = playerTwo.number;
System.out.println("The second player thinking this number " + numberTwo);
if(playerTwo.number == compNumber) {
checkNumTwo = true;
}
GuessNumberTest oneWin = new GuessNumberTest();
if(checkNumOne) {
System.out.println("The first is a winner " + checkNumOne);
break;
}
GuessNumberTest twoWin = new GuessNumberTest();
if(checkNumTwo) {
System.out.println("The second is a winner " + checkNumTwo);
break;
} else {
System.out.println("One more time");
}
} // while true
}
}
public class Player {
int number;
String name;
}
import java.util.Scanner;
public class GuessNumberTest {
public static void main(String[] args) {
Player playerOne = new Player();
Player playerTwo = new Player();
Scanner scan = new Scanner(System.in);
String nameFirst = playerOne.name;
playerOne.name = scan.nextLine();
String nameSec = playerTwo.name;
playerTwo.name = scan.nextLine();
GuessNumber guessNum = new GuessNumber();
guessNum.play();
}
}