我正在制作一个简单的篮球程序,需要输入主队名称和赛季中比赛总场数,然后在循环中询问下一场比赛的对手。基本上,在开始do-while循环时,它可以正常工作,除非用户输入例如“Ohio State”这样的名称。此时输出将从“剩余6场比赛”变为“剩余4场比赛”,通常它只会询问“对手?”然后减少一场比赛。
如何修复两个单词的篮球队名不会减少两次的问题?
import java.util.Scanner;
public class Basketball2 {
public static void main(String[] args) throws java.io.IOException {
Scanner scanInput = new Scanner(System.in);
String sHomeTeam;
String sAwayTeam;
int iNumGames;
int iGamesLeft = 0;
System.out.println("Enter home team's name: ");
sHomeTeam = scanInput.nextLine();
System.out.println(sHomeTeam);
System.out.println("How many games are in the home team's basketball season?");
iNumGames = scanInput.nextInt();
System.out.println(iNumGames);
//start looping
do {
System.out.println("Enter opponent team's name: ");
sAwayTeam = scanInput.next();
System.out.println(sAwayTeam);
iGamesLeft = --iNumGames;
System.out.println("There are " + iGamesLeft + " games left in the basketball season");
}//end do
while(iGamesLeft > 0);
nextLine()
而不是next()
。 - FThompson