1 2 3 /*7.2 4 * This program will do a bit of character string processing. 5 */ 6 package stringthing; 7 8 public class StringThing { 9 10 public static void main(String[] args) { 11 // POINT A: CREATE A PRINT SOME STRING THAT REPRESENT NAMES 12 String singer = "Holiday, Billie"; 13 String sculptor = "Claudel, Camille"; 14 String painter = "Picasso, Pablo"; 15 String dancer = "Zotto, Osvaldo"; 16 String self = "Jiaxing, Liu"; 17 18 System.out.println("\nNames ..."); 19 System.out.println(singer); 20 System.out.println(sculptor); 21 System.out.println(painter); 22 System.out.println(dancer); 23 System.out.println(self); 24 25 // POINT B: COMPUTE AND PRINT THE LENGTHS OF THE STRINGS, WITHOUT LABELS 26 int singerLength = singer.length(); 27 int sculptorLength = sculptor.length(); 28 int painterLength = painter.length(); 29 int dancerLength = dancer.length(); 30 int selfLength = self.length(); 31 32 System.out.println("\nName lengths ..."); 33 System.out.println(singerLength); 34 System.out.println(sculptorLength); 35 System.out.println(painterLength); 36 System.out.println(dancerLength); 37 System.out.println(selfLength); 38 39 // POINT C: COMPUTE AND PRINT THE LOCATION OF THE COMMA WITHIN EACH STRING, NO LABELS 40 int singerCommaPosition = singer.indexOf(","); 41 int sculptorCommaPosition = sculptor.indexOf(","); 42 int painterCommaPosition = painter.indexOf(","); 43 int dancerCommaPosition = dancer.indexOf(","); 44 int selfCommaPosition = self.indexOf(","); 45 46 System.out.println("\nComma postions ..."); 47 System.out.println(singerCommaPosition); 48 System.out.println(sculptorCommaPosition); 49 System.out.println(painterCommaPosition); 50 System.out.println(dancerCommaPosition); 51 System.out.println(selfCommaPosition); 52 53 // POINT D: COMPUTE AND PRINT THE FIVE FIRST NAMES, WITH NO LABELS 54 String singerFirst = singer.substring(0, singerCommaPosition); 55 String sculptorFirst = sculptor.substring(0, sculptorCommaPosition); 56 String painterFirst = painter.substring(0, painterCommaPosition); 57 String dancerFirst = dancer.substring(0, dancerCommaPosition); 58 String selfFirst = self.substring(0, selfCommaPosition); 59 60 System.out.println("\nFirst names ..."); 61 System.out.println(singerFirst); 62 System.out.println(sculptorFirst); 63 System.out.println(painterFirst); 64 System.out.println(dancerFirst); 65 System.out.println(selfFirst); 66 67 // POINT E: COMPUTE AND PRINT THE FIVE LAST NAMES, WITH NO LABELS 68 String singerLast = singer.substring((singerCommaPosition + 2), singerLength); 69 String sculptorLast = sculptor.substring((sculptorCommaPosition + 2), sculptorLength); 70 String painterLast = painter.substring((painterCommaPosition + 2), painterLength); 71 String dancerLast = dancer.substring((dancerCommaPosition + 2), dancerLength); 72 String selfLast = self.substring((selfCommaPosition + 2), selfLength); 73 74 75 System.out.println("\nLast names..."); 76 System.out.println(singerLast); 77 System.out.println(sculptorLast); 78 System.out.println(painterLast); 79 System.out.println(dancerLast); 80 System.out.println(selfLast); 81 82 // POINT F: COMPUTE AND PRINT THE FIRST NAMES, AGAIN 83 System.out.println("\nFirst names, once again ..."); 84 System.out.println(firstName(singer)); 85 System.out.println(firstName(sculptor)); 86 System.out.println(firstName(painter)); 87 System.out.println(firstName(dancer)); 88 System.out.println(firstName(self)); 89 90 // POINT G: COMPUTE AND PRINT THE LAST NAMES, AGAIN 91 System.out.println("\nLast names, once again ..."); 92 System.out.println(lastName(singer)); 93 System.out.println(lastName(sculptor)); 94 System.out.println(lastName(painter)); 95 System.out.println(lastName(dancer)); 96 System.out.println(lastName(self)); 97 98 // POINT H: COMPUTE AND PRINT THE FULL NAMES, NATURAL STYLE 99 System.out.println("\nFull names, natural style ..."); 100 System.out.println(fullName(singer)); 101 System.out.println(fullName(sculptor)); 102 System.out.println(fullName(painter)); 103 System.out.println(fullName(dancer)); 104 System.out.println(fullName(self)); 105 } 106 107 private static String firstName(String directoryStyleName) { 108 int firstNamePosition = directoryStyleName.indexOf(","); 109 String firstName = directoryStyleName.substring(0, firstNamePosition); 110 return firstName; 111 } 112 113 private static String lastName(String directoryStyleName) { 114 int lastNamePosition = directoryStyleName.indexOf(","); 115 int lastNameLength = directoryStyleName.length(); 116 String lastName = directoryStyleName.substring(lastNamePosition + 2, lastNameLength); 117 return lastName; 118 } 119 120 private static String fullName(String dsn){ 121 int commaPosition = dsn.indexOf(","); 122 int stringLength = dsn.length(); 123 String firstName = dsn.substring(0, commaPosition); 124 String lastName = dsn.substring(commaPosition + 2, stringLength); 125 String fullName = firstName + " " + lastName; 126 return fullName; 127 } 128 }