2013-02-18 41 views
-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."); 

    } 

    } 

} 

在此先感謝!

+3

返回給你什麼錯誤?你確定他們不是警告嗎? – Pshemo 2013-02-18 03:40:43

+0

沒關係;我發現了錯誤。顯然,我忘記了「不正確」之後應該出現的感嘆號。在線編譯器認爲是拼寫錯誤並返回錯誤。我把它修好了,現在它完美運行。無論如何,儘管如此! – 2013-02-18 03:49:46

+0

但這並不會產生錯誤:/,在我的Eclipse中完美工作 – anshulkatta 2013-02-18 03:52:01

回答

0

在一個實例中,您的「不正確」沒有感嘆號。

此外,在一個情況下,您有「無效的選擇。」但在另一個你有「無效的選擇」。 (大寫字母C)。

我猜這些是兩個錯誤。

+0

你是對的!我發佈這個問題後大概一分鐘就知道了。謝謝,不過。我不敢相信你發現這很快。 – 2013-02-18 03:57:37

相關問題