1 /**
2 Describes a value that is associated with a country
3 */
4 public class CountryValue
5 {
6 private String country;
7 private double value;
8
9 /**
10 Constructs a CountryValue from an input line.
11 @param line a line containing a country name, followed by a value
12 */
13 public CountryValue(String line)
14 {
15 int i = 0; // Locate the start of the first digit
16 while (!Character.isDigit(line.charAt(i))) { i++; }
17 int j = i - 1; // Locate the end of the preceding word
18 while (Character.isWhitespace(line.charAt(j))) { j--; }
19 country = line.substring(0, j + 1); // Extract the country name
20 value = Double.parseDouble(line.substring(i).trim()); // Extract the value
21 }
22
23 /**
24 Gets the country name.
25 @return the country name
26 */
27 public String getCountry() { return country; }
28
29 /**
30 Gets the associated value.
31 @return the value associated with the country
32 */
33 public double getValue() { return value; }
34 }