Lab 5
Lab 5
Lecture 14
3
Plan for Today
4
Plan for Today
5
Text Processing
6
Characters
A char is a variable type that represents a single character or “glyph”.
Single quotes!
7
An Aside
8
Char
Under the hood, Java represents each char as an integer.
This integer is its “ASCII” value.
9
Char
Under the hood, Java represents each char as an integer.
This integer is its “ASCII” value.
10
Char
Under the hood, Java represents each char as an integer.
This integer is its “ASCII” value.
1 / 2 // evaluates to 0 (int)
(double)1 / 2 // evaluates to 0.5 (double)
1 / (double)2 // evaluates to 0.5 (double)
13
Character Methods
Remember: these
return a new char,
they cannot modify
an existing char.
14
Strings
Text is stored using the variable type String.
A String is a sequence of characters!
Double quotes!
15
Strings
● Each character is assigned an index, going from 0 to length-1.
● There is a char at each index.
H e l l o !
0 1 2 3 4 5
17
Creating Strings
String str = "Hello, world!";
String empty = "";
18
From Chars to Strings
char c1 = 'a';
char c2 = 'b';
19
From Chars to Strings
char c1 = 'a';
char c2 = 'b';
20
Substrings
A substring is a subset of a string.
21
Substrings
A substring is a subset of a string.
22
Useful String Methods
25
Plan for Today
26
Looping over Strings
A common String programming pattern is looping over a
String and operating on each character.
27
Looping over Strings
A common String programming pattern is looping over a
String and operating on each character.
28
Looping over Strings
Another common String programming pattern is building up a
new string by adding characters to it over time.
31
Plan for Today
32
Exercise: Reversing a String
Let’s write a method called reverseString that takes one
String parameter, and returns a new String with the
characters in the opposite order.
33
Reversing a String
H e l l o !
34
Reversing a String
H e l l o !
35
Reversing a String
H e l l o !
!
36
Reversing a String
H e l l o !
!
37
Reversing a String
H e l l o !
! o
38
Reversing a String
H e l l o !
! o
39
Reversing a String
H e l l o !
! o l
40
Reversing a String
H e l l o !
! o l
41
Reversing a String
H e l l o !
! o l l
42
Reversing a String
H e l l o !
! o l l
43
Reversing a String
H e l l o !
! o l l e
44
Reversing a String
H e l l o !
! o l l e
45
Reversing a String
H e l l o !
! o l l e H
46
Reversing a String
H e l l o !
! o l l e H
47
Another Take
48
Reversing a String
H e l l o !
49
Reversing a String
H e l l o !
H
50
Reversing a String
H e l l o !
e H
51
Reversing a String
H e l l o !
l e H
52
Reversing a String
H e l l o !
l l e H
53
Reversing a String
H e l l o !
o l l e H
54
Reversing a String
H e l l o !
! o l l e H
55
Plan for Today
56
Exercise: Palindromes
Let’s write a method called isPalindrome that takes one
String parameter, and returns whether or not that String is a
palindrome (the same forwards and backwards)
58
More Palindromes
59
Stress Test
A man, a plan, a caret, a ban, a myriad, a sum, a lac, a liar, a hoop, a pint, a catalpa, a gas, an oil, a bird, a
yell, a vat, a caw, a pax, a wag, a tax, a nay, a ram, a cap, a yam, a gay, a tsar, a wall, a car, a luger, a ward,
a bin, a woman, a vassal, a wolf, a tuna, a nit, a pall, a fret, a watt, a bay, a daub, a tan, a cab, a datum, a gall,
a hat, a tag, a zap, a say, a jaw, a lay, a wet, a gallop, a tug, a trot, a trap, a tram, a torr, a caper, a top, a tonk,
a toll, a ball, a fair, a sax, a minim, a tenor, a bass, a passer, a capital, a rut, an amen, a ted, a cabal, a tang, a
sun, an ass, a maw, a sag, a jam, a dam, a sub, a salt, an axon, a sail, an ad, a wadi, a radian, a room, a rood, a
rip, a tad, a pariah, a revel, a reel, a reed, a pool, a plug, a pin, a peek, a parabola, a dog, a pat, a cud, a nu, a
fan, a pal, a rum, a nod, an eta, a lag, an eel, a batik, a mug, a mot, a nap, a maxim, a mood, a leek, a grub, a
gob, a gel, a drab, a citadel, a total, a cedar, a tap, a gag, a rat, a manor, a bar, a gal, a cola, a pap, a yaw, a
tab, a raj, a gab, a nag, a pagan, a bag, a jar, a bat, a way, a papa, a local, a gar, a baron, a mat, a rag, a
gap, a tar, a decal, a tot, a led, a tic, a bard, a leg, a bog, a burg, a keel, a doom, a mix, a map, an atom, a
gum, a kit, a baleen, a gala, a ten, a don, a mural, a pan, a faun, a ducat, a pagoda, a lob, a rap, a keep, a
nip, a gulp, a loop, a deer, a leer, a lever, a hair, a pad, a tapir, a door, a moor, an aid, a raid, a wad, an alias,
an ox, an atlas, a bus, a madam, a jag, a saw, a mass, an anus, a gnat, a lab, a cadet, an em, a natural, a tip, a
caress, a pass, a baronet, a minimax, a sari, a fall, a ballot, a knot, a pot, a rep, a carrot, a mart, a part, a tort, a
gut, a poll, a gateway, a law, a jay, a sap, a zag, a tat, a hall, a gamut, a dab, a can, a tabu, a day, a batt, a
waterfall, a patina, a nut, a flow, a lass, a van, a mow, a nib, a draw, a regular, a call, a war, a stay, a gam, a
yap, a cam, a ray, an ax, a tag, a wax, a paw, a cat, a valley, a drib, a lion, a saga, a plat, a catnip, a pooh, a
rail, a calamus, a dairyman, a bater, a canal – Panama!
60
Plan for Today
61
Exercise: Caesar Cipher
Let’s write a program that encrypts text using a Caesar
Cipher! In a Caesar Cipher:
62
Exercise: Caesar Cipher
● rotate the alphabet by a certain key, with wrapping.
63
Let’s Code It!
64
Extra Practice: Recall Char Loops
65
Extra Practice: Passcodes
● So, Duke forgot his password
● It’s 3 characters long
● Each character is between a and e ?
aaa
aab
aac
…
eed
eee
66
Plan for Today
67