Java Processing a String One Character at a Time
Problem
You want to process the contents of a string, one character at a time.
Solution
Use a for loop and the String’s charAt( ) method.
Explained
A string’s charAt( ) method retrieves a given character by index number (starting at
zero) from within the String object. To process all the characters in a String, one
after another, use a for loop ranging from zero to String.length( )–1. Here we process
all the characters in a String:
// StrCharAt.java String a = "A quick bronze fox leapt a lazy bovine"; for (int i=0; i < a.length( ); i++) System.out.println("Char " + i + " is " + a.charAt(i));
A checksum is a numeric quantity representing and confirming the contents of a file.
If you transmit the checksum of a file separately from the contents, a recipient can
checksum the file—assuming the algorithm is known—and verify that the file was
received intact. Example 3-3 shows the simplest possible checksum, computed just
by adding the numeric values of each character. Note that on files, it does not
include the values of the newline characters; to fix this, retrieve System.
getProperty("line.separator"); and add its character value(s) into the sum at the
end of each line. Or give up on line mode and read the file a character at a time.
/** CheckSum one file, given an open BufferedReader. */ public int process(BufferedReader is) { int sum = 0; try { String inputLine; while ((inputLine = is.readLine( )) != null) { int i; for (i=0; i<inputLine.length( ); i++) { sum += inputLine.charAt(i); } } is.close( ); } catch (IOException e) { System.out.println("IOException: " + e); } f return sum; }
No comments:
Post a Comment