/** Describes a value that is associated with a country */ public class CountryValue { private String country; private double value; /** Constructs a CountryValue from an input line. @param line a line containing a country name, followed by a value */ public CountryValue(String line) { int i = 0; // Locate the start of the first digit while (!Character.isDigit(line.charAt(i))) { i++; } int j = i - 1; // Locate the end of the preceding word while (Character.isWhitespace(line.charAt(j))) { j--; } country = line.substring(0, j + 1); // Extract the country name value = Double.parseDouble(line.substring(i).trim()); // Extract the value } /** Gets the country name. @return the country name */ public String getCountry() { return country; } /** Gets the associated value. @return the value associated with the country */ public double getValue() { return value; } }