Lecture Notes – February3, 2005

 

Briefly explain grading on Lab3 worksheet

 

Go over my solution to Lab 6 – code for Lab6.java  Key in html format

          Comments about the lab:

·        code should have been easy to write from the comments

·        inputFileFound (line 22) should be initialized to false because before a file has been looked for, it hasn’t been found

·        there is no need to embed the lines that get the filenames from the user (lines 30, 33) in try/catch blocks.  They can’t cause a run-time exception.

·        lines 30 and 33 should use .nextLine() not .next() because a filename may have blanks in it and .next() wouldn’t get the entire name if it did.

·        a do ... while loop (lines 36-49)would have been better than a  while ... loop for making the connection to the disk file (instantiating file Scanner with the user’s file name) because

o       since the while loop may never be entered, you are forced to instantiate the fileScanner before the loop to avoid geting an error message from the compiler “fileScanner may not have been initialized”

·        because you were told there would be a single line of text in the file, you did not need a try/catch block for line 52 although you would if the data might not be there or might be erroneous.

·        line 94 copies the values in the inputString into an array using the method from the String class  .toCharArray() don’t rely on the text for all methods belonging to a class –  check Appendix M and then the API http://java.sun.com/j2se/1.5.0/docs/api/index.html

·        there is another method belonging to the String class that could have been used called  .getChars but it has a long parameter list and is more useful when you want to put the current String into an already partially filled array.

inputString.getChars(0,inputString.length()-1, letters, 0)

·        the other new thing in this lab was the use of the foreach statement shown on line 109.

·        Note that if you don’t close your output file, you may not see anything in it when you look at it.

 

Comments describing weaknesses in your lab submissions  Problems with Lab6 (to appear)

 

Discussion of Objects

·        Characteristics of constructors

o       have same name as class

o       have no return type

o       are not void

o       may have more than 1 for a given class but need to have a different parameter list. At least one of the following must occur:

§         different number of parameters

§         different type(s) of parameters

§         different order of parameters

·        slides  shown in class

·        Objects have: state and behavior

 

Showed blueJ

·        using bug program from CS 139; running program and inspecting objects –

Keyboard.java     Bug.java    PA4Driver.java   BugGame.java

·        creating an object – blueJ provides a template –

 

 

Discussed testArrays.java program

 

          Announced that first program should be posted sometime tomorrow.  It will be submitted in 2 stages.

·        Stage1:  will be due Thursday the 10th and will consist only of stubs and drivers for each class and method with javaDocs and internal comments but no code

·        Stage2:  will be the completed program probably due on Tuesday, February 15th

 

Reminder:  1st exam will be next Wednesday night, February 9th,  from 7-9pm in ISAT/CS 159

 

Homework:  Study for exam

                  See list of topics to study for exam