StringThing.java
1    /* 
2     * This program will do a bit of character string processing 
3     */
4    package stringthing;
5    
6    public class StringThing {
7        public static void main(String[] args) {
8            // Point A: Create a print some string that represents names
9            String singer = "Holiday, Billie";
10           String sculptor = "Claudel, Camille";
11           String painter = "Picasso, Pablo";
12           String dancer = "Zotto, Osvaldo";
13           String self = "Michaelis, Matthew";
14           System.out.println("\nNames ...");
15           System.out.println(singer);
16           System.out.println(sculptor);
17           System.out.println(painter);
18           System.out.println(dancer);
19           System.out.println(self);
20           // Point B: compute and print the lengths of the strings, without labels
21           int singerLength = singer.length();
22           int sculptorLength = sculptor.length();
23           int painterLength = painter.length();
24           int dancerLength = dancer.length();
25           int selfLength = self.length();
26           System.out.println("\nNames lengths ...");
27           System.out.println(singerLength);
28           System.out.println(sculptorLength);
29           System.out.println(painterLength);
30           System.out.println(dancerLength);
31           System.out.println(selfLength);
32           // Point C: compute and print the locations of the comma within each strings, no labels
33           int singerCommaPosition = singer.indexOf(",");
34           int sculptorCommaPosition = sculptor.indexOf(",");
35           int painterCommaPosition = painter.indexOf(",");
36           int dancerCommaPosition = dancer.indexOf(",");
37           int selfCommaPosition = self.indexOf(",");
38           System.out.println("\nComma positions ...");
39           System.out.println(singerCommaPosition);
40           System.out.println(sculptorCommaPosition);
41           System.out.println(painterCommaPosition);
42           System.out.println(dancerCommaPosition);
43           System.out.println(selfCommaPosition);
44           // Point D: compute and print the five first names, with no labels
45           String singerFirst = singer.substring(singerCommaPosition + 2);
46           String sculptorFirst = sculptor.substring(sculptorCommaPosition + 2);
47           String painterFirst = painter.substring(painterCommaPosition + 2);
48           String dancerFirst = dancer.substring(dancerCommaPosition + 2);
49           String selfFirst = self.substring(selfCommaPosition + 2);
50           System.out.println("\nFirst names ...");
51           System.out.println(singerFirst);
52           System.out.println(sculptorFirst);
53           System.out.println(painterFirst);
54           System.out.println(dancerFirst);
55           System.out.println(selfFirst);
56           // Point E: compute and print the five last names, with no labels
57           String singerLast = singer.substring(0, singerCommaPosition);
58           String sculptorLast = sculptor.substring(0, sculptorCommaPosition);
59           String painterLast = painter.substring(0, painterCommaPosition);
60           String dancerLast = dancer.substring(0, dancerCommaPosition);
61           String selfLast = self.substring(0, selfCommaPosition);
62           System.out.println("\nLast names ...");
63           System.out.println(singerLast);
64           System.out.println(sculptorLast);
65           System.out.println(painterLast);
66           System.out.println(dancerLast);
67           System.out.println(selfLast);
68           // Point F: compute and print the first names, again
69           System.out.println("\nFirst names, once again ...");
70           System.out.println(firstName(singer));
71           System.out.println(firstName(sculptor));
72           System.out.println(firstName(painter));
73           System.out.println(firstName(dancer));
74           System.out.println(firstName(self));
75           // Point H: compute and print the last names, again
76           System.out.println("\nLast names, once again ...");
77           System.out.println(lastName(singer));
78           System.out.println(lastName(sculptor));
79           System.out.println(lastName(painter));
80           System.out.println(lastName(dancer));
81           System.out.println(lastName(self));
82           // Point F: compute and print the full names, natural style
83           System.out.println("\nFull names, natural style ...");
84           System.out.println(fullName(singer));
85           System.out.println(fullName(sculptor));
86           System.out.println(fullName(painter));
87           System.out.println(fullName(dancer));
88           System.out.println(fullName(self));
89       }
90   
91       private static String fullName(String directoryStyleName) {
92           int directoryStyleNameCommaPosition = directoryStyleName.indexOf(",");
93           String fullName = directoryStyleName.substring(directoryStyleNameCommaPosition + 2);
94           return fullName += " " + directoryStyleName.substring(0, directoryStyleNameCommaPosition);
95       }
96   
97       private static String lastName(String directoryStyleName) {
98           int directoryStyleNameCommaPosition = directoryStyleName.indexOf(",");
99           return directoryStyleName.substring(0, directoryStyleNameCommaPosition);
100      }
101  
102      private static String firstName(String directoryStyleName) {
103          int directoryStyleNameCommaPosition = directoryStyleName.indexOf(",");
104          return directoryStyleName.substring(directoryStyleNameCommaPosition + 2);
105      }
106  }
107