有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

随机错误消息,说明java的构造函数放错了位置

所以我重新做了一些,但现在我得到了额外的错误“完成whilestatement

/* This is a program in that can figure out a number chosen by a human user
*/
import java.util.Random;
import java.util.Scanner;

public class NumberGuesser {
    public static void main(String[] args) {
        boolean playAgain = false;

        do {
            playOneGame();
            playAgain = shouldPlayAgain();
        } while (playAgain);
    }

    public static void playOneGame() {
        int continueGuessing = 0;
        int guess = 50;
        int low = 1;
        int high = 100; 
        Scanner keyboard = new Scanner(System.in);
        char response;  

        System.out.println("Guess a number between 1 and 100.\n");
        do {
            guess = getMidpoint (low, high);
            response = getUserResponseToGuess(guess);
            if (response == 'h') {
                high = guess;
                continueGuessing = 1;
            } else if (response == 'l') {
                low = guess;
                continueGuessing = 0;
            }
            while(response != 'h' && response != 'l')
        }
    }

    /*get midpoint method       
    */
    public static int getMidpoint(int high, int low);
        int range = high- low;
        Random generator = new Random();

        if (range >0){
            int midpoint = generator.nextInt(range) + low +1;
            return midpoint;
        } else
            return guess;

    public static char getUserResponseToGuess(int guess) {
        Scanner keyboard = new Scanner(System.in);
        String input;
        char response;

        do {
            System.out.println("Is it " + guess + "? (h/l/c): ");
            input = keyboard.nextLine();
            response = input.charAt(0);
        } while (response != 'h' && response != 'l' && response != 'c');
        return response;
    }

    static boolean shouldPlayAgain() {
        Scanner keyboard = new Scanner (System.in);
        String input;
        char response;

        do {
            System.out.println("Do you want to play again? (y/n); ");
            input = keyboard.nextLine();
            response = input.charAt(0);
        } while (response != 'y' && response != 'n')

        if (response == 'y') {
            return true;
        } else
            return false;
    }
}   

所以我要创建一个程序,可以计算出一个由人类用户选择的数字。人类用户会想到1到100之间的数字。程序会进行猜测,用户会告诉程序猜得更高或更低

该程序的示例运行可能如下所示:

  Guess a number between 1 and 100.
  Is it 50?  (h/l/c): h
  Is it 75?  (h/l/c): h
  Is it 87?  (h/l/c): l  
  Is it 81?  (h/l/c): c
  Great! Do you want to play again? (y/n): y
  Guess a number between 1 and 100.
  Is it 50?  (h/l/c): l
  Is it 25?  (h/l/c): h
  Is it 37?  (h/l/c): c
  Great! Do you want to play again? (y/n): n

到目前为止,我的尝试给了我很多错误:

 /* This is a program in that can figure out a number chosen by a human user
 */
import java.util.Random;
import java.util.Scanner;

public class NumberGuesser {
public static void main(String[] args) {
    boolean playAgain = false;
    do{
        playOneGame();
        playAgain = shouldPlayAgain();
    }while (playAgain);
}
/*get midpoint method       
 */

public static void playOneGame() {
    private int continueGuessing = 0;
    private int guess = 50,
                low = 1,
                high = 100; 
    Scanner keyboard = new Scanner(System.in);
    char    response;   
    System.out.println("Guess a number between 1 and 100.\n");
    do{
        guess = getMidpoint(low, high, guess);
        response = getUserResponseToGuess(guess);

        if (response == 'h') {
            high = guess;
            continueGuessing = 1;
        }

        else if (response == 'l'){
            low = guess;
            continueGuessing = 0;
        }
    }

    while (continueGuessing == 1);


 public static int getMidpoint;
    int range = high- low;
    Random generator = new Random();

    if (range >0){
        int midpoint = generator.nextInt(range) + low +1;
        return midpoint;
    }

    else
        return guess;


public static char getUserResponseToGuess(int guess){
    Scanner keyboard = new Scanner(System.in);
    String input;
    char response;

    do {
        System.out.println("Is it " + guess + "? (h/l/c): ");
        input = keyboard.nextLine();
        response = input.charAt(0);
    }
    while (response != 'h' && response != 'l' && response != 'c');

    return response;
}

static boolean shouldPlayAgain() {
    Scanner keyboard = new Scanner (System.in);
    String input;
    char response;

    do{
        System.out.println("Do you want to play again? (y/n); ");
        input = keyboard.nextLine();
        response = input.charAt(0);
    }
    while (response != 'y' && response != 'n');

    if (response == 'y') {
        return true;
    }
    else return false;

    }
}   

请帮忙


共 (0) 个答案