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