Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

OOP: Java (java8b.ppt) by HC120520191456

VIEWS: 0 PAGES: 19

									OOP: Java (java8b.ppt)
   String Tokenizing (3.1.1)
   Streams & File I/O (4.1.1)
   User-Defined Exceptions (3.3.4)
   Ex 7 Dow Jones Case Study




                                      CIT503 EW
                                          1
StringTokenizer Class
   It takes an input string and parses it into "tokens",
    allowing the tokens to be read one at a time.

   call the nextToken method for each item you want
    tokenized
   call the nextToken method for each element and
    assign
   to instance variable
       ex: name = st.nextToken();
       ex: qpa=Double.parseDouble(st.nextToken());

                                                            CIT503 EW
                                                                2
StringTokenizer Class Methods
 stringTokenizer(String str, String DELIM) -
  constructor
 nextToken() - Parses the next token from the input
  stream of this tokenizer.
 hasMoreTokens() – returns true if

 more tokens exist
 countTokens() - returns # of tokens in this tokenizer

 Lets Look at StringTokenizerClassDemo




                                                     CIT503 EW
                                                         3
Streams & File I/O
     Stream refers to any source of input or output in a Java
      program.
     Java has several classes to handle I/O. Check the API
      under java.io

     We have used two of these:
          BufferedReader to handle the input stream
          PrintWriter to handle the output stream




                                                                 CIT503 EW
                                                                     4
Review of Input/Output in Java

   Java uses two constants:
       in to represent standard input from the keyboard
       out to represent standard output to the console window
   in belongs to the InputStream Class
       System.in
   out belongs to the OutputStream Class
       System.out




                                                                 CIT503 EW
                                                                     5
Java
   To handle the input stream we use readLine()
   Then we can use the wrapper classes for each type
   To handle the output stream we use several methods
       println(), print() and flush()
   files can be handled as input streams as well




                                                    CIT503 EW
                                                        6
Tokenizers in Java
   Files in general have more than one piece of data per
    line
        Joe White 3.45 29
        Janet Blue 3.75 31
   Each line has more than one item, or token
   In Java, we can read a line to determine how many
    tokens it has and what their values are.
   There are two classes :
           StringTokenizer
           and StreamTokenizer.




                                                      CIT503 EW
                                                          7
Tokenizers in Java
   The tokens are separated by ‘white space characters’
       blank spaces
       tabs (vertical and horizontal)
       form feed char
       new line




                                                     CIT503 EW
                                                         8
StringTokenizer & Exceptions
   Need to handle exceptions
       Bad numeric data types
       Lines with too few or too many elements
       Can use multiple catch clauses to handle different
        exceptions




                                                             CIT503 EW
                                                                 9
StringTokenizer & Exceptions
   Need to handle exceptions
       Bad numeric data types
       Lines with too few or too many elements
       Can use multiple catch clauses to handle different
        exceptions




                                                             CIT503 EW
                                                                 10
StringTokenizer & Exceptions
   NumberFormatException
   NoSuchElementException
       Thrown when you attempt to get a token and it does not
        exist
       Ex: data required to have 5 tokens
         It has only 4 – when you attempt the get the 5th
         • An exception is thrown




                                                             CIT503 EW
                                                                 11
File Input/Output in Java
   Text file are commonly used for sources of input and
    output
   All we need to do is to replace the in and out
    constants with another object that relates to a file
   Files have a name and a path (location)
    a:\mydemos\stocks.txt ==> “a:\\mydemos\\stocks.txt” on
       Windows/NT
    c:\temp\users\data.txt ==> “c:\\temp\\users\\data.txt”

   Otherwise, data files must be in the same directory
    as your .java program!
                                                         CIT503 EW
                                                             12
File Input/Output in Java


   There are many classes to handle files
   Disk files are supported by the classes FileReader
    and FileWriter. Data files are instances of either
    class. To “read” from a file (using a file as input
    source) use FileReader.
   To “write” to a file (using a file as output source) use
    FileWriter.




                                                         CIT503 EW
                                                             13
File Input/Output in Java
   Files need to be open before you use them
       instantiate a file
   Program must make sure that a file has been opened
    before it tries to read data from it!
   Files should be closed when we are done using them
       use the close() method
   Lets look at examples for reading text files:
       FileReadStrings, +ReadTextFile, +ReadTextFile2,
        FileReadAddresses
   And doing both I/O:
       Prices, +Copy
                                                      CIT503 EW
                                                          14
CIT503 EW
    15
Interfaces
   An interface is not part of the class hierarchy
   An interface is not a class, and cannot be used to
    instantiate an object
   Constants in an interface can be used in the
    implementing class as if they were declared locally
       This feature provides a convenient technique for
        distributing common constant values among multiple
        classes
   See online java notes ch 53


                                                             CIT503 EW
                                                                 16
Creating Exception Classes

   You can create your own exception classes to handle
    exceptions
   Such a class must be derived from class Throwable
   You can be more specific and extend classes further
    down the hierarchy
       class MyException extends Exception {..}
   printStackTrace()
       You can trace the methods the computer uses to find a
        catch block
   See Digit, DigitOutOfBoundsException, DigitTester

                                                                CIT503 EW
                                                                    17
finally Keyword
   finally defines a block of code guaranteed to be
    executed before the computer exits a method
       regardless of whether an exception was thrown or return
        statement was executed in a try block
       syntax:
            finally { .... statements }
       See ch9Ex6.java




                                                             CIT503 EW
                                                                 18
EX Dow Jones Assignment

   See Class Handout
       Case Study Specs
       Data Files
       Sample Executable
            Hw7exe.jar
       Class Hierarchy UML View

   Support material on WAN
       Overall Project Design
       Design & Test of each class

                                      CIT503 EW
                                          19

								
To top