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.
Discussion
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 value of each character together. It
should produce the value “1248” if the input is “an
apple a day”. Note that on files, it will 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.
Example 3-3. CheckSum.java
/** CheckSum one file, given an open BufferedReader. */ public int process(BufferedReader is) { int sum ...
Get Java Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.