import java.io.PrintStream; import java.util.Scanner; public class Coins { public static void main(String[] args) { PrintStream output = System.out; Scanner input = new Scanner(System.in); final String COIN = "penny " + "nickel " + "dime " + "quarter" + "loonie " + "toonie "; final String CENT = "1 " + "5 " + "10 " + "25 " + "100 " + "200 "; final int SIZE = 7; output.println("Enter some coins separated by *s followed by the ENTER key:"); for (; input.hasNext(); ) { String line = input.nextLine().trim(); boolean isNumbers = Character.isDigit(line.charAt(1)); int sum = 0; for (int start = 1; start < line.length(); ) { int end = line.indexOf("*", start + 1); String s = line.substring(start, end); if (isNumbers) { int index = CENT.indexOf(s); output.print("*" + COIN.substring(index, index + SIZE).trim()); } else { int index = COIN.indexOf(s); sum += Integer.parseInt(CENT.substring(index, index + SIZE).trim()); } start = end + 1; } if (isNumbers) { output.println("*\n"); } else { output.printf("$%.2f%n%n", sum / 100.0); } output.println("Enter some coins separated by *s followed by the ENTER key:"); } } }