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