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