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 = "Ciosek, Kevin"; 16 System.out.println("\nNames . . . "); 17 System.out.println(singer); 18 System.out.println(sculptor); 19 System.out.println(painter); 20 System.out.println(dancer); 21 System.out.println(self); 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 // POINT C: COMPUTE AND PRINT THE LOCATION OF THE COMMA WITHIN EACH STRING, NO LABELS 37 int singerComaPosition = singer.indexOf(", "); 38 int sculptorComaPosition = sculptor.indexOf(", "); 39 int painterComaPosition = painter.indexOf(", "); 40 int dancerComaPosition = dancer.indexOf(", "); 41 int selfComaPosition = self.indexOf(", "); 42 System.out.println("\nsingerComaPosition = " + singerComaPosition); 43 System.out.println("sculptorComaPosition = " + sculptorComaPosition); 44 System.out.println("painterComaPosition = " + painterComaPosition); 45 System.out.println("dancerComaPosition = " + dancerComaPosition); 46 System.out.println("selfComaPosition = " + selfComaPosition); 47 48 // POINT D: COMPUTE AND PRINT THE FIVE FIRST NAMES, WITH NO LABELS 49 String singerFirst = "Bille"; 50 String sculptorFirst = "Camille"; 51 String painterFirst = "Pablo"; 52 String dancerFirst = "Osvaldo"; 53 String selfFirst = "Kevin"; 54 System.out.println("\nFirst Names . . ."); 55 System.out.println(singerFirst); 56 System.out.println(sculptorFirst); 57 System.out.println(painterFirst); 58 System.out.println(dancerFirst); 59 System.out.println(selfFirst); 60 61 // POINT E: COMPUTE AND PRINT THE FIVE LAST NAMES, WITH NO LABELS 62 String singerLast = "Holiday"; 63 String sculptorLast = "Claudel"; 64 String painterLast = "Picasso"; 65 String dancerLast = "Zotto"; 66 String selfLast = "Ciosek"; 67 System.out.println("\nLast Names . . ."); 68 System.out.println(singerLast); 69 System.out.println(sculptorLast); 70 System.out.println(painterLast); 71 System.out.println(dancerLast); 72 System.out.println(selfLast); 73 74 // POINT F: COMPUTE AND PRINT THE FIRST NAMES, AGAIN 75 System.out.println("\nFirst names, once again ..."); 76 System.out.println(firstName(singer)); 77 System.out.println(firstName(sculptor)); 78 System.out.println(firstName(painter)); 79 System.out.println(firstName(dancer)); 80 System.out.println(firstName(self)); 81 82 // POINT G: COMPUTE AND PRINT THE LAST NAMES, AGAIN 83 System.out.println("\nLast names, once again ..."); 84 System.out.println(lastName(singer)); 85 System.out.println(lastName(sculptor)); 86 System.out.println(lastName(painter)); 87 System.out.println(lastName(dancer)); 88 System.out.println(lastName(self)); 89 90 // POINT H: COMPUTE AND PRINT THE FULL NAMES, NATURAL STYLE 91 System.out.println("\nFull names, natural style ..."); 92 System.out.println(fullName(singer)); 93 System.out.println(fullName(sculptor)); 94 System.out.println(fullName(painter)); 95 System.out.println(fullName(dancer)); 96 System.out.println(fullName(self)); 97 } 98 99 private static String fullName(String dsn) { 100 return firstName(dsn) + " " + lastName(dsn); 101 } 102 103 private static String lastName(String directoryStyleName) { 104 int p1 = directoryStyleName.indexOf(","); 105 return directoryStyleName.substring(0 , p1); 106 } 107 108 private static String firstName(String directoryStyleName) { 109 int p1 = directoryStyleName.indexOf(" "); 110 return directoryStyleName.substring(p1 + 1); 111 } 112 113 }