Casts and Strings

advertisement
Lecture 8
Using casts, Strings and WordUtil
Agenda
• Generating random numbers
• Casts
– Casting a double into an int
– Casting an int into a char
– Casting a char into an int
• Strings again
– reading a String
– checking the length of a String
– can we cast a String into an int?
– Or an int to a String?
• Using the WordUtil class
Generating Random Numbers
• Recall Lab2 the Math.random() method:
– double myNumber;
– myNumber = Math.random(); // (from 0 to .999)
• Then in Lab5:
– double secret;
– secret = Math.round(Math.random()*100);
• 0 to 100 ( 0 and 100 come up half as often as others)
– OR secret = (int)( Math.random()*100);
• 0 to 99 ( evenly distributed)
A Cast "filters" a value into a different type
•
•
•
•
•
•
•
•
int x = (int) 4.1243;
// x gets 4
double z = 56.23;
int y = (int) z;
// y gets 56, z remains 56.23
z = (double) y; // z gets 56.0
char letter = 'c';
int code = (int) letter; // code gets 97
letter = (char) 65; // letter gets 'A'
letter = 'A'; // this is more clear, same value
For this lab
• We'll use casts to convert a random double to
int
– int num = (int)( Math.random()*100);
• 0 to 99 ( evenly distributed)
String class
• Create a String:
– String word;
– word = "hello";
• Read a String
– word = in.next(); // in is a Scanner object
• Compare 2 strings
– if ( word.equals("hello")) {
...println("good morning");
}
How long is a String
• Print the length:
– ...println("length of word = " + word.length() );
• Check if the length is 5 letters:
– if ( word.length() == 5 )
Remember the
3 Different Kinds of Classes ?
1. Application Class – what we've been doing
– Has public static void main ( String [] args)
2. Instantiable Class – use to make objects from
– String, Scanner
3. Classes with only static utility methods
– like Math class
WordUtil class – another class
with static utility methods
• How to get the 15th word?
• How to check if a word is in the dictionary?
Download