import java.io.PrintStream; import java.util.Scanner; import java.util.Collections; import java.util.List; import java.util.ArrayList; import java.util.Set; import java.util.TreeSet; import java.util.StringTokenizer; public class Winners { public static void main(String[] args) { PrintStream output = System.out; Scanner input = new Scanner(System.in); List winners = new ArrayList(); List losers = new ArrayList(); output.println("Enter scores for each game (done to finish)"); while (input.hasNext()) { String line = input.nextLine(); StringTokenizer tok = new StringTokenizer(line); try { String team1 = tok.nextToken(); String team2 = tok.nextToken(); int goals1 = Integer.parseInt(tok.nextToken()); int goals2 = Integer.parseInt(tok.nextToken()); // figure out the winning team String winner = team1; String loser = team2; if (goals1 < goals2) { winner = team2; loser = team1; } winners.add(winner); losers.add(loser); } catch (RuntimeException ex) { output.println("Bad score; please try again."); } } // output results Set teamsWinningZeroGames = new TreeSet(losers); teamsWinningZeroGames.removeAll(winners); output.println(); output.println("Games# Winning Team"); for (int i = 0; i < winners.size(); i++) { String winner = winners.get(i); output.printf("%3d. %s%n", i + 1, winner); } output.println(); output.println("Teams winning zero games:"); for (String noWins : teamsWinningZeroGames) { output.println(noWins); } } }