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