我用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.");
}
}
}
在此先感謝!
返回給你什麼錯誤?你確定他們不是警告嗎? – Pshemo 2013-02-18 03:40:43
沒關係;我發現了錯誤。顯然,我忘記了「不正確」之後應該出現的感嘆號。在線編譯器認爲是拼寫錯誤並返回錯誤。我把它修好了,現在它完美運行。無論如何,儘管如此! – 2013-02-18 03:49:46
但這並不會產生錯誤:/,在我的Eclipse中完美工作 – anshulkatta 2013-02-18 03:52:01