StringThing.java
1    /* 
2     * This program will do a bit of character string processing 
3     */
4    
5    package stringthing;
6    
7    import javax.swing.*;
8    
9    public class StringThing {
10   
11       public static void main(String[] args) {
12           // POINT A: CREATE AND 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 = "Allen, Keith";
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           // POINT C: COMPUTE AND PRINT THE LOCATION OF THE COMMA WITHIN EACH STRING, NO LABELS
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 positions");
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 NAMES, WITH NO LABELS
55           String singerFirst = singer.substring(9);
56           String sculptorFirst = sculptor.substring(9);
57           String painterFirst = painter.substring(9);
58           String dancerFirst = dancer.substring(7);
59           String selfFirst = self.substring(7);
60   
61           System.out.println("\nFirst names ...");
62           System.out.println(singerFirst);
63           System.out.println(sculptorFirst);
64           System.out.println(painterFirst);
65           System.out.println(dancerFirst);
66           System.out.println(selfFirst);
67   
68           // POINT E: COMPUTE AND PRINT THE FIVE LAST NAMES, WITH NO LABELS
69   
70           String singerLast = singer.substring(0, singerCommaPosition);
71           String sculptorLast = sculptor.substring(0, sculptorCommaPosition);
72           String painterLast = painter.substring(0, painterCommaPosition);
73           String dancerLast = dancer.substring(0, dancerCommaPosition);
74           String selfLast = self.substring(0, selfCommaPosition);
75   
76           System.out.println("\nLast names ...");
77           System.out.println(singerLast);
78           System.out.println(sculptorLast);
79           System.out.println(painterLast);
80           System.out.println(dancerLast);
81           System.out.println(selfLast);
82   
83           // POINT F: COMPUTE AND PRINT THE FIRST NAMES, AGAIN
84           System.out.println("\nFirst names, once again ...");
85           System.out.println(firstName(singer));
86           System.out.println(firstName(sculptor));
87           System.out.println(firstName(painter));
88           System.out.println(firstName(dancer));
89           System.out.println(firstName(self));
90   
91           // POINT G: COMPUTE AND PRINT THE LAST NAMES, AGAIN
92            System.out.println("\nLast names, once again ...");
93            System.out.println(lastName(singer));
94            System.out.println(lastName(sculptor));
95            System.out.println(lastName(painter));
96            System.out.println(lastName(dancer));
97            System.out.println(lastName(self));
98   
99           // POINT H: COMPUTE AND PRINT THE FULL NAMES, NATURAL STYLE
100          System.out.println("\nFull names, natural style ...");
101          System.out.println(fullName(singer));
102          System.out.println(fullName(sculptor));
103          System.out.println(fullName(painter));
104          System.out.println(fullName(dancer));
105          System.out.println(fullName(self));
106      }
107  
108      private static String fullName(String directoryStyleName) {
109          int nameComma = directoryStyleName.indexOf(",");
110          int nameLength = directoryStyleName.length();
111          String lastName = directoryStyleName.substring(0,nameComma);
112          String firstName = directoryStyleName.substring((nameComma+2), nameLength);
113          String fullName = firstName + " " +lastName;
114          return fullName;
115      }
116  
117      private static String lastName(String directoryStyleName) {
118          int nameComma = directoryStyleName.indexOf(",");
119          String lastName = directoryStyleName.substring(0,nameComma);
120          return lastName;
121  
122      }
123  
124      private static String firstName(String directoryStyleName) {
125          int nameComma = directoryStyleName.indexOf(",");
126          int nameLength = directoryStyleName.length();
127          String firstName = directoryStyleName.substring((nameComma+2), nameLength);
128          return firstName;
129      }
130  }
131