Mehran Sahami Handout #24A CS 106A October 24, 2007 Solution to Section #4 Portions of this handout by Eric Roberts and Patrick Young
1. Adding commas to numeric strings
private String addCommasToNumericString(String digits) { String result = ""; int len = digits.length(); int nDigits = 0; for (int i = len - 1; i >= 0; i--) { result = digits.charAt(i) + result; nDigits++; if (((nDigits % 3) == 0) && (i > 0)) { result = "," + result; } } return result; }
2. Deleting characters from a string
private String removeAllOccurrences(String str, char ch) { String result = ""; for (int i = 0; i < str.length(); i++) { if (str.charAt(i) != ch) { result += str.charAt(i); } } return result; }
A slightly different approach that involves a while loop instead of a for loop:
private String removeAllOccurrences(String str, char ch) { while (true) { int pos = str.indexOf(ch); if (pos >= 0) { str = str.substring(0, pos) + str.substring(pos + 1); } else break; } return str; }
Could you generalize these functions to remove substrings? For instance, removeAllSubstrings("Mississippi", 'si') returns "Missppi". Would these two functions ever return different values for the same input?
– 2 –
3. Heap/Stack diagrams 100012munned102011munned104012munnedFFC01000rheapFFB83FFB41080n106014munnedstackFFB03itluser108018munnedFFB81000xgarbage 4. Tracing method execution
0 comments:
Post a Comment