      1  import java.io.File;

      2  import java.io.FileNotFoundException;

      3  import java.util.Scanner;

      4

      5  /**

      6     This program displays the most common baby names. Half of boys and girls in

      7     the United States were given these names in the 1990s.

      8  */

      9  public class BabyNames

     10  {

     11     public static final int LIMIT = 50;

     12

     13     public static void main(String[] args) throws FileNotFoundException

     14     {

     15        Scanner in = new Scanner(new File("babynames.txt"));

     16

     17        double boyTotal = 0;

     18        double girlTotal = 0;

     19

     20        while (boyTotal < LIMIT || girlTotal < LIMIT)

     21        {

     22           int rank = in.nextInt();

     23           System.out.print(rank + " ");

     24

     25           boyTotal = processName(in, boyTotal);

     26           girlTotal = processName(in, girlTotal);

     27

     28           System.out.println();

     29        }

     30

     31        in.close();

     32     }

     33

     34     /**

     35        Reads name information, prints the name if total >= 0, and adjusts the total.

     36        @param in the input stream

     37        @param total the total percentage that should still be processed

     38        @return the adjusted total

     39     */

     40     public static double processName(Scanner in, double total)

     41     {

     42        String name = in.next();

     43        int count = in.nextInt();

     44        double percent = in.nextDouble();

     45

     46        if (total < LIMIT) { System.out.print(name + " "); }

     47        total = total + percent;

     48        return total;

     49     }

     50  }