그래서 Java에서 숫자 추측 게임을 만들려고합니다. 사용자는 1 - 100 사이의 숫자를 생각한 다음 컴퓨터가 이진 검색 방법을 사용하여 숫자를 추측하려합니다. 따라서 컴퓨터가 만드는 첫 번째 추측은 사용자가 75보다 높은 값을 선택하고 그 값이 37보다 작 으면 37 일 것입니다.숫자 추측 게임의 상한과 하한 경계 - Java
그래서 새로운 위/아래 경계를 설정하려고합니다. 사용자가 자신이 선택한 것을 입력 할 때마다 컴퓨터가 75를 추측하고 사용자가 너무 높으면 새로운 상위 경계가 74가되어야하고 37이 38보다 너무 낮 으면 새로운 하위 경계가됩니다. NumberGuesser (int lowerBound, int upperBound)라는 생성자 내에서이 작업을 수행하려고합니다. 하한선이 작동하는 것처럼 보이지만 상한선을 조작하는 데 도움이 필요합니다. 어쩌면, 당신은 사람들이 저의 경계를 한 번 줄여서 올바르게 작동하는지 알 수 있습니다. 또한 컴퓨터를 50 이상으로 추측 할 수없는 것처럼 보입니다. 높은 값을 선택하면 50 이상이되지 않습니다.
지금 당장은 Java 클래스로 수업을 진행하고 있으며 대부분의 결정을 작성했습니다. 클래스 내의 알고리즘을 만들고 내 프로그램 내의 객체는 NumberGuesser라는 클래스를 참조합니다.
public class NumberGuesser
{
private int userGuess = 50;
private int max = 100;
private int min = 1;
NumberGuesser(int lowerBound, int upperBound)
{
max = userGuess;
/*if(userGuess > max)
{
max = userGuess;
}
else if(min < userGuess)
{
min = userGuess;
}*/
if(userGuess < max)
{
max = userGuess;
}
else if(userGuess > max)
{
min = userGuess;
}
}
void lower()
{
userGuess = userGuess/2;
}
void higher()
{
userGuess = ((max - userGuess)/2) + userGuess;
}
public int getCurrentGuess()
{
return userGuess;
}
void reset()
{
}
}
메인 드라이버 클래스
import java.util.*;
public class Assignment7
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
char guess;
int min = 1;
int max = 100;
NumberGuesser numGuess = new NumberGuesser(min, max);
System.out.println("Please think of a number between 1 and 100");
do
{
System.out.print("Is the number "+numGuess.getCurrentGuess()+"(h/l/c): ");
guess = input.next().charAt(0);
if(guess == 'h')
{
numGuess.higher();
}
else if(guess == 'l')
{
numGuess.lower();
}
else if(guess == 'c')
{
System.out.println("Correct!");
}
}while(guess != 'c');
}
}
어떤 도움을 것 크게 감사들 :
여기 내 코드입니다! 건배!
@PiaraSandhu : Assignment7 클래스가 제공 되었습니까? –
Eclipse에서 생성했습니다. 그것은 단지 프로그램의 이름입니다. –
@ 피아라 산드 후 : 아니, 오해. 과제 **는 ** 귀하의 ** 코드입니까 ** 귀하의 강사 ** 코드입니까?변경할 수없는 코드입니까, 아니면 변경할 수있는 코드입니까? –