-2

ユーザーがスキャナーを使用してプレーヤーの数に基づいて特定のスポーツに名前を付けたり、その逆を行ったりできるようにするプログラムをJavaで作成しました。考えられるほぼすべての組み合わせで実行しましたが、正常に機能します。採点のためのクラスプロジェクトとして提出した後、私たちが使用することになっている自動オンラインコンパイラは2つのエラーで返されました。教授から、スペルや句読点に何か問題があるはずだと言われましたが、正確に特定することはできません。誰かが何かを見つけたら、見て、教えてもらえますか?すべての助けに感謝します!

import java.util.Scanner;

public class SportsQuiz {

public static void main(String[] args) {

    Scanner s = new Scanner(System.in);

    final String PROMPT = "Enter 1 to guess a sport, 2 to guess how"
            + " many players: ";

    final int NUMOFBASKET = 5;
    final int NUMOFBASE = 9;
    final int NUMOFCURL = 4;
    final int NUMOFFOOT = 11;

    System.out.print(PROMPT);

    int promptnum = s.nextInt();

    if(promptnum == 1) {

        System.out.print("Choose number of players: ");

        int numplayers = s.nextInt();

        s.nextLine();

        if(numplayers != NUMOFBASKET && numplayers != NUMOFBASE 
                && numplayers != NUMOFCURL && numplayers != NUMOFFOOT){

            System.out.print("Invalid choice.");

        } else {

            System.out.print("Which sport has " + numplayers
                    + " players? ");

            String playsport = s.nextLine();

            if(playsport.equals("Basketball")
                    ||playsport.equals("basketball")
                    && numplayers == NUMOFBASKET) {

                System.out.print("Correct!");

            } else if(playsport.equals("Football")
                    ||playsport.equals("football") 
                    && numplayers == NUMOFFOOT) {

                System.out.print("Correct!");

            } else if(playsport.equals("Baseball")
                    ||playsport.equals("baseball")
                    && numplayers == NUMOFBASE) {

                System.out.print("Correct!");       

            } else if(playsport.equals("Curling")
                    ||playsport.equals("curling")
                    && numplayers == NUMOFCURL) {

                System.out.print("Correct!");

            } else {

                System.out.print("Incorrect");

            }

        }

    } else if(promptnum == 2) {

        System.out.print("Choose a sport: ");

        s.nextLine();

        String sport = s.nextLine();

        if(sport.equals("Basketball")||sport.equals("basketball")) {

            System.out.print("How many players are on a " + sport 
                    + " team? ");

            int numsportplayers = s.nextInt();

            if(numsportplayers == NUMOFBASKET){

                System.out.print("Correct!");

            } else {

                System.out.print("Incorrect!");

            }



        } else if(sport.equals("Baseball")||sport.equals("baseball")) {

            System.out.print("How many players are on a " + sport 
                    + " team? ");

            int numsportplayers = s.nextInt();

            if(numsportplayers == NUMOFBASE){

                System.out.print("Correct!");

            } else {

                System.out.print("Incorrect!");

            }

        } else if(sport.equals("Football")||sport.equals("football")) {

            System.out.print("How many players are on a " + sport 
                    + " team? ");

            int numsportplayers = s.nextInt();

            if(numsportplayers == NUMOFFOOT){

                System.out.print("Correct!");

            } else {

                System.out.print("Incorrect!");

            }

        } else if (sport.equals("Curling")||sport.equals("curling")) {

            System.out.print("How many players are on a " + sport 
                    + " team? ");

            int numsportplayers = s.nextInt();

            if(numsportplayers == NUMOFCURL){

                System.out.print("Correct!");

            } else {

                System.out.print("Incorrect!");
            }

        } else {

            System.out.print("Invalid Choice.");

        }

    } else {

        System.out.print("Invalid Choice.");

    }

  }

}

前もって感謝します!

4

1 に答える 1

0

ある例では、感嘆符のない「不正」があります。

また、ある場合には「無効な選択」があります。しかし、別の例では、「無効な選択」があります。(大文字のC付き)。

これらは2つのエラーだと思います。

于 2013-02-18T03:50:22.047 に答える