Download Programming with Java standard classes

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Programming with Java standard
classes
Java API
• Application Programming Interface
• Provides hundreds of standard classes that can
be incorporated into your programs –
readymade solutions for a variety of tasks
• Detailed documentation of Java standard
classes freely available on web:
http://java.sun.com/j2se/1.5.0/docs/api/index.html
JOptionPane: an I/O class
• Output: display something on an output device
(i.e. the computer’s monitor)
– display results of computation
– communicate with the user
• Most Java programs employ a graphical user
interface (GUI) with two types of windows:
– frame window: the type of window created by our first
example program
– dialog window: allows communication with user; most
commonly used to prompt for & receive input, but
we’ll begin by looking at just output
JOptionPane output example
JOptionPane.showMessageDialog(null, “Look at me!”);
• Displays a small window in the center of
the screen containing the words in the string
literal and a button labeled “OK”
• This is an example of a message that calls a
class method of the JOptionPane class – we
are not making a request to an object, but
rather to the class itself
JOptionPane.showMessageDialog
example
• Arguments to the method:
– the first argument, null, indicates that there is no existing
frame object upon which this dialog should appear; if we
want the dialog to appear in an existing frame window, we
would pass the name of the frame object as the first
argument, instead of null – for example:
JFrame myWindow;
… // review: what goes here?
JOptionPane.showMessageDialog (myWindow, “It’s my window”);
– the second argument, a string literal, indicates the text we
want to display in the window
Example program
// Sample program #2: displaying messages
// using JOptionPane.showMessageDialog
import javax.swing.*;
class Example2 {
public static void main (String [ ] args) {
JFrame myWindow;
myWindow = new JFrame();
myWindow.setSize (300, 200);
myWindow.setVisible(true);
JOptionPane.showMessageDialog(myWindow, “It’s my window”);
JOptionPane.showMessageDialog(null, “and I’ll cry \n if I want to”);
}
}
Some notes on the example
• Displaying multiple lines of text: the special
character ‘\n’ represents the control
character you get when you press the Enter
key on the keyboard (n = new line)
• Later on, we’ll introduce another
JOptionPane class method that allows us to
take keyboard input from the user
The String class
• We have already seen several instances of
string literal values – a.k.a. string constants
– that is, sets of characters enclosed within
double quotation marks
• The Java API contains the String class,
which allows us to manipulate string data
through the use of String objects
The String class
• We can declare and create a String object just like we do other types of
objects, for example:
String bigRiver = new String (“Mississippi”);
• In fact, the String class is an exception to the “new” rule – you can
create a String object without it, as in this example:
String bigRiver = “Amazon”;
• But you may find it less confusing to stick to the form you know for
other classes, like the first example, above
• Bear in mind, though, that it is quite common to assign a new string
literal to a String object without using the new operator, as in the
following lines of code:
String bigRiver = new String (“Amazon”);
… // some other stuff happens
bigRiver = “Mississippi”;
Operations on String objects
• The Java API defines many operations on String
objects: we will review just a few of them here:
• substring: takes 2 arguments representing the
beginning and ending positions of a String within
a String – returns the resulting substring
– Note that the first position in a String in Java is
designated position 0 – so a 4-letter word would start at
0 and end at 3
– An error will result if you attempt to call the method
using positions that don’t exist within the String object
Examples using substring
• If the String object bigRiver contains the
literal value “Mississippi”:
bigRiver.substring(6, 8); // returns “sip”
bigRiver.substring (0, 2); // returns “Mis”
bigRiver.substring (4, 5); // returns “is”
Examples using substring
• The method calls in the example would return the literal
values indicated, but they would neither be stored nor
displayed anywhere – therefore, these method calls
would usually occur within the context of an
assignment statement or another method call; for
example:
String sub = new String (bigRiver.substring(6, 8));
// returns “sipp” and assigns it to new object sub
JOptionPane.showMessageDialog(bigRiver.substring (4, 5));
// displays “is” in a small window with an OK button
More String methods
• The length method returns the length (in
characters) of the String object; for example, if
String bigRiver contains the value “Mississippi”
then
bigRiver.length() // returns 11
• The indexOf method returns a number indicating
the position of the beginning of the first
occurrence of the substring specified in the
message’s argument; examples:
bigRiver.indexOf(“Miss”)
bigRiver.indexOf(“is”)
bigRiver.indexOf(“sis”)
// returns 0
// returns 1
// returns 3
String concatenation
• String concatenation: an operation that makes one
String from two, using the ‘+’ operator; for example:
String phrase, word;
phrase = new String (“old man river”);
word = new String (“ that ”);
phrase = phrase + word + phrase;
// phrase now contains “old man river that old man river”
Program example
import javax.swing.*;
class Ch2StringProcessing {
public static void main( String[] args ) {
String fullName, firstName, lastName, space;
fullName = new String("Decafe Latte");
space = new String(" ");
firstName = fullName.substring(0, fullName.indexOf(space));
lastName = fullName.substring(fullName.indexOf(space) + 1,
fullName.length());
JOptionPane.showMessageDialog(null, "Full Name: " + fullName);
JOptionPane.showMessageDialog(null, "First: " + firstName);
JOptionPane.showMessageDialog(null, "Last: " + lastName);
JOptionPane.showMessageDialog(null,
"Your last name has "+lastName.length( )+" characters.");
}
}
Reading input
• In order to receive input data from a user,
we need two things:
– a mechanism by which to read the data
– a place to store the data
• We can use another method,
showInputDialog, of the JOptionPane class
for the first part; we can use a String object
for the second part.
Using showInputDialog for
reading input
• The syntax for showInputDialog is almost identical to
the previous JOptionPane method we looked at,
showMessageDialog. You may recall from a previous
example program the following lines of code:
JOptionPane.showMessageDialog(myWindow, “It’s my window”);
JOptionPane.showMessageDialog(null, “and I’ll cry \n if I want to”);
• In general, the syntax for both showMessageDialog and
showInputDialog is:
JOptionPane.methodName (WindowObject, MessageObject);
I/O dialog windows
• We know from the examples that the first
argument, the WindowObject, can either be a
JFrame object we have declared and initialized or
null; we also know that the second argument can
be a String literal value.
• The difference between the two methods is that
showMessageDialog merely displays a window
containing the specified message, but
showInputDialog method displays the message as
a prompt, followed by a space for the user to
enter input.
Example: showInputDialog
The following code fragment produces a dialog window like
the one shown below:
String daddy;
daddy = JOptionPane.showInputDialog (null,
“Who’s your daddy?”);