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