StringThing.java
1    
2    
3    /*7.2 
4     * This program will do a bit of character string processing. 
5     */
6    package stringthing;
7    
8    public class StringThing {
9    
10       public static void main(String[] args) {
11           // POINT A: CREATE A PRINT SOME STRING THAT REPRESENT NAMES
12           String singer = "Holiday, Billie";
13           String sculptor = "Claudel, Camille";
14           String painter = "Picasso, Pablo";
15           String dancer = "Zotto, Osvaldo";
16           String self = "Jiaxing, Liu";
17   
18           System.out.println("\nNames ...");
19           System.out.println(singer);
20           System.out.println(sculptor);
21           System.out.println(painter);
22           System.out.println(dancer);
23           System.out.println(self);
24   
25           // POINT B: COMPUTE AND PRINT THE LENGTHS OF THE STRINGS, WITHOUT LABELS
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           int singerCommaPosition = singer.indexOf(",");
41           int sculptorCommaPosition = sculptor.indexOf(",");
42           int painterCommaPosition = painter.indexOf(",");
43           int dancerCommaPosition = dancer.indexOf(",");
44           int selfCommaPosition = self.indexOf(",");
45   
46           System.out.println("\nComma postions ...");
47           System.out.println(singerCommaPosition);
48           System.out.println(sculptorCommaPosition);
49           System.out.println(painterCommaPosition);
50           System.out.println(dancerCommaPosition);
51           System.out.println(selfCommaPosition);
52   
53           // POINT D: COMPUTE AND PRINT THE FIVE FIRST NAMES, WITH NO LABELS
54           String singerFirst = singer.substring(0, singerCommaPosition);
55           String sculptorFirst = sculptor.substring(0, sculptorCommaPosition);
56           String painterFirst = painter.substring(0, painterCommaPosition);
57           String dancerFirst = dancer.substring(0, dancerCommaPosition);
58           String selfFirst = self.substring(0, selfCommaPosition);
59   
60           System.out.println("\nFirst names ...");
61           System.out.println(singerFirst);
62           System.out.println(sculptorFirst);
63           System.out.println(painterFirst);
64           System.out.println(dancerFirst);
65           System.out.println(selfFirst);
66   
67           // POINT E: COMPUTE AND PRINT THE FIVE LAST NAMES, WITH NO LABELS
68           String singerLast = singer.substring((singerCommaPosition + 2), singerLength);
69           String sculptorLast = sculptor.substring((sculptorCommaPosition + 2), sculptorLength);
70           String painterLast = painter.substring((painterCommaPosition + 2), painterLength);
71           String dancerLast = dancer.substring((dancerCommaPosition + 2), dancerLength);
72           String selfLast = self.substring((selfCommaPosition + 2), selfLength);
73   
74   
75           System.out.println("\nLast names...");
76           System.out.println(singerLast);
77           System.out.println(sculptorLast);
78           System.out.println(painterLast);
79           System.out.println(dancerLast);
80           System.out.println(selfLast);
81   
82           // POINT F: COMPUTE AND PRINT THE FIRST NAMES, AGAIN
83           System.out.println("\nFirst names, once again ...");
84           System.out.println(firstName(singer));
85           System.out.println(firstName(sculptor));
86           System.out.println(firstName(painter));
87           System.out.println(firstName(dancer));
88           System.out.println(firstName(self));
89   
90           // POINT G: COMPUTE AND PRINT THE LAST NAMES, AGAIN
91           System.out.println("\nLast names, once again ...");
92           System.out.println(lastName(singer));
93           System.out.println(lastName(sculptor));
94           System.out.println(lastName(painter));
95           System.out.println(lastName(dancer));
96           System.out.println(lastName(self));
97   
98           // POINT H: COMPUTE AND PRINT THE FULL NAMES, NATURAL STYLE
99           System.out.println("\nFull names, natural style ...");
100          System.out.println(fullName(singer));
101          System.out.println(fullName(sculptor));
102          System.out.println(fullName(painter));
103          System.out.println(fullName(dancer));
104          System.out.println(fullName(self));
105      }
106  
107      private static String firstName(String directoryStyleName) {
108          int firstNamePosition = directoryStyleName.indexOf(",");
109          String firstName = directoryStyleName.substring(0, firstNamePosition);
110          return firstName;
111      }
112  
113      private static String lastName(String directoryStyleName) {
114          int lastNamePosition = directoryStyleName.indexOf(",");
115          int lastNameLength = directoryStyleName.length();
116          String lastName = directoryStyleName.substring(lastNamePosition + 2, lastNameLength);
117          return lastName;
118      }
119  
120      private static String fullName(String dsn){
121          int commaPosition = dsn.indexOf(",");
122          int stringLength = dsn.length();
123          String firstName = dsn.substring(0, commaPosition);
124          String lastName = dsn.substring(commaPosition + 2, stringLength);
125          String fullName = firstName + " " + lastName;
126          return fullName;
127      }
128  }