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 string that represents names 9 String singer = "Holiday, Billie"; 10 String sculptor = "Claudel, Camille"; 11 String painter = "Picasso, Pablo"; 12 String dancer = "Zotto, Osvaldo"; 13 String self = "Michaelis, Matthew"; 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 // 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("\nNames lengths ..."); 27 System.out.println(singerLength); 28 System.out.println(sculptorLength); 29 System.out.println(painterLength); 30 System.out.println(dancerLength); 31 System.out.println(selfLength); 32 // Point C: compute and print the locations of the comma within each strings, no labels 33 int singerCommaPosition = singer.indexOf(","); 34 int sculptorCommaPosition = sculptor.indexOf(","); 35 int painterCommaPosition = painter.indexOf(","); 36 int dancerCommaPosition = dancer.indexOf(","); 37 int selfCommaPosition = self.indexOf(","); 38 System.out.println("\nComma positions ..."); 39 System.out.println(singerCommaPosition); 40 System.out.println(sculptorCommaPosition); 41 System.out.println(painterCommaPosition); 42 System.out.println(dancerCommaPosition); 43 System.out.println(selfCommaPosition); 44 // Point D: compute and print the five first names, with no labels 45 String singerFirst = singer.substring(singerCommaPosition + 2); 46 String sculptorFirst = sculptor.substring(sculptorCommaPosition + 2); 47 String painterFirst = painter.substring(painterCommaPosition + 2); 48 String dancerFirst = dancer.substring(dancerCommaPosition + 2); 49 String selfFirst = self.substring(selfCommaPosition + 2); 50 System.out.println("\nFirst names ..."); 51 System.out.println(singerFirst); 52 System.out.println(sculptorFirst); 53 System.out.println(painterFirst); 54 System.out.println(dancerFirst); 55 System.out.println(selfFirst); 56 // Point E: compute and print the five last names, with no labels 57 String singerLast = singer.substring(0, singerCommaPosition); 58 String sculptorLast = sculptor.substring(0, sculptorCommaPosition); 59 String painterLast = painter.substring(0, painterCommaPosition); 60 String dancerLast = dancer.substring(0, dancerCommaPosition); 61 String selfLast = self.substring(0, selfCommaPosition); 62 System.out.println("\nLast names ..."); 63 System.out.println(singerLast); 64 System.out.println(sculptorLast); 65 System.out.println(painterLast); 66 System.out.println(dancerLast); 67 System.out.println(selfLast); 68 // Point F: compute and print the first names, again 69 System.out.println("\nFirst names, once again ..."); 70 System.out.println(firstName(singer)); 71 System.out.println(firstName(sculptor)); 72 System.out.println(firstName(painter)); 73 System.out.println(firstName(dancer)); 74 System.out.println(firstName(self)); 75 // Point H: compute and print the last names, again 76 System.out.println("\nLast names, once again ..."); 77 System.out.println(lastName(singer)); 78 System.out.println(lastName(sculptor)); 79 System.out.println(lastName(painter)); 80 System.out.println(lastName(dancer)); 81 System.out.println(lastName(self)); 82 // Point F: compute and print the full names, natural style 83 System.out.println("\nFull names, natural style ..."); 84 System.out.println(fullName(singer)); 85 System.out.println(fullName(sculptor)); 86 System.out.println(fullName(painter)); 87 System.out.println(fullName(dancer)); 88 System.out.println(fullName(self)); 89 } 90 91 private static String fullName(String directoryStyleName) { 92 int directoryStyleNameCommaPosition = directoryStyleName.indexOf(","); 93 String fullName = directoryStyleName.substring(directoryStyleNameCommaPosition + 2); 94 return fullName += " " + directoryStyleName.substring(0, directoryStyleNameCommaPosition); 95 } 96 97 private static String lastName(String directoryStyleName) { 98 int directoryStyleNameCommaPosition = directoryStyleName.indexOf(","); 99 return directoryStyleName.substring(0, directoryStyleNameCommaPosition); 100 } 101 102 private static String firstName(String directoryStyleName) { 103 int directoryStyleNameCommaPosition = directoryStyleName.indexOf(","); 104 return directoryStyleName.substring(directoryStyleNameCommaPosition + 2); 105 } 106 } 107