StringThing.java
1    /* 
2     * This program will do a bit of character string processing. 
3     */
4    package stringthing;
5    
6    public class StringThing {
7        public static void main(String[] args) {
8            //point A: create a print some strings that represent names
9            String singer = "Holiday, Billie";
10           String sculptor = "Claudel, Camille";
11           String painter = "Picasso, Pablo";
12           String dancer = "Zotto, Osvaldo";
13           String self = "Tracy, Isabelle";
14           System.out.println("\nNames . . .");
15           System.out.println(singer);
16           System.out.println(sculptor);
17           System.out.println(painter);
18           System.out.println(dancer);
19           System.out.println(self);
20   
21   
22   
23           //point B: compute and print the lengths of the strings, without labels
24           int singerLength = singer.length();
25           int sculptorLength = sculptor.length();
26           int painterLength = painter.length();
27           int dancerLength = dancer.length();
28           int selfLength = self.length();
29           System.out.println("\nName Lengths . . .");
30           System.out.println(singerLength);
31           System.out.println(sculptorLength);
32           System.out.println(painterLength);
33           System.out.println(dancerLength);
34           System.out.println(selfLength);
35   
36   
37           //point C: compute and print the location of the comma within each string, no labels
38           int singerCommaPosition = singer.indexOf(",");
39           int sculporCommaPosition = sculptor.indexOf(",");
40           int painterCommaPosition = painter.indexOf(",");
41           int dancerCommaPosition = dancer.indexOf(",");
42           int selfCommaPosition = self.indexOf(",");
43           System.out.println("\nComma Positions . . .");
44           System.out.println(singerCommaPosition);
45           System.out.println(sculporCommaPosition);
46           System.out.println(painterCommaPosition);
47           System.out.println(dancerCommaPosition);
48           System.out.println(selfCommaPosition);
49   
50   
51           //point D: compute and print the five first names, with no lables
52           String signerFirst = singer.substring(singerCommaPosition +2);
53           String sculptorFirst = sculptor.substring(sculporCommaPosition +2);
54           String painterFirst = painter.substring(painterCommaPosition +2);
55           String dancerFirst = dancer.substring(dancerCommaPosition +2);
56           String selfFirst = self.substring(selfCommaPosition +2);
57           System.out.println("\nFirst Names . . .");
58           System.out.println(signerFirst);
59           System.out.println(sculptorFirst);
60           System.out.println(painterFirst);
61           System.out.println(dancerFirst);
62           System.out.println(selfFirst);
63   
64   
65           //point E: compute and print the five last names, with no lables
66           String singerLast = singer.substring(0,singerCommaPosition);
67           String sculptorLast = sculptor.substring(0,sculporCommaPosition);
68           String painterLast = painter.substring(0,painterCommaPosition);
69           String dancerLast = dancer.substring(0,dancerCommaPosition);
70           String selfLast = self.substring(0,selfCommaPosition);
71           System.out.println("\nLast Names . . .");
72           System.out.println(singerLast);
73           System.out.println(sculptorLast);
74           System.out.println(painterLast);
75           System.out.println(dancerLast);
76           System.out.println(selfLast);
77   
78           //point F: compute and print the names, again
79           System.out.println("\nFirst names,once again . . .");
80           System.out.println(firstName(singer));
81           System.out.println(firstName(sculptor));
82           System.out.println(firstName(painter));
83           System.out.println(firstName(dancer));
84           System.out.println(firstName(self));
85   
86           //point G: compute and print the last names, again
87           System.out.println("\nLast names, once again . . .");
88           System.out.println(lastName(singer));
89           System.out.println(lastName(sculptor));
90           System.out.println(lastName(painter));
91           System.out.println(lastName(dancer));
92           System.out.println(lastName(self));
93   
94           //point H: compute and print the full names, natural style
95           System.out.println("\nFull names, natural style . . .");
96           System.out.println(fullName(singer));
97           System.out.println(fullName(sculptor));
98           System.out.println(fullName(painter));
99           System.out.println(fullName(dancer));
100          System.out.println(fullName(self));
101      }
102  
103      private static String fullName(String dsn) {
104          String fir = firstName(dsn);
105          String las = lastName(dsn);
106          String full = fir + " " + las;
107          return full;
108      }
109  
110      private static String lastName(String directoryStyleName) {
111          int comma = directoryStyleName.indexOf(",");
112          String last = directoryStyleName.substring(0,comma);
113          return last;
114      }
115  
116      private static String firstName(String directoryStyleName) {
117          int spacePosition = directoryStyleName.indexOf(" ");
118          String first = directoryStyleName.substring(spacePosition + 1);
119          return first;
120      }
121  }
122