More Related Content
Similar to 06a methods original
Similar to 06a methods original (20)
More from Program in Interdisciplinary Computing
More from Program in Interdisciplinary Computing (20)
06a methods original
- 1. The Difference Between Instance and Local Variables LIS4930 © PIC 1 2 3 Instance variables are declared inside a class but not within a method. Local variables are declared within a method. Local variables MUST be initialized before use! class AddThing { int a; intb = 12; public int add() { inttotal = a + b; return total; } } class foo { public void go() { intx; intz = x + 3; } } class Horse { private double height = 15.2; private String breed; //more code… }
- 2. Default Values LIS4930 © PIC Instance variables always get a default value: Local variables DO NOT get a default value!
- 3. Comparing Variables To compare two primitives, use the equality ( == ) operator. To see if two references are the same (which means they refer to the same object on the heap) use the == operator. To see if two objects are the same use the equals() method. LIS4930 © PIC
- 4. Developing A Class Figure out what the class is supposed to do. List the instance variables and methods. Write prepcode for the methods. Write test code for the methods. Implement the class. Test the methods. LIS4930 © PIC
- 5. The “Simple Dot Com Game” Goal: Sink all of the computer’s Dot Coms in the fewest number of guesses.(This is like battle ship, but with little dot-com companies). Setup: When the game program is launched, the computer places three Dot Coms on a virtualboard. When that’s complete, the game asks for your first guess. How you play: The computer will prompt the user to enter a guess. In response to the guess you’ll see a response at the command line: “Hit”, “Miss”, or “You sunk Pets.com” (or whatever the name of the company was). When all companies are sunk the game ends by reporting your rating. LIS4930 © PIC
- 6. A (simple) High-Level Design Game starts, and creates ONE DotCom and gives it a location on three cells in the single row of seven cells.Instead of “A2”, “C4”, and so on, the locations are just integers (for example 1,2,3 are the cell locations in this picture: LIS4930 © PIC
- 7. A (simple) High-Level Design Game play begins. Prompt user for a guess, then check to see if it hit any of the DotCom’s three cells. If a hit, increment the numOfHits variable. Game finishes when all three cells have been hit (the numOfHits variable value is 3), and tells the user how many guesses it took to sink the DotCom. LIS4930 © PIC
- 8. The Three Things! LIS4930 © PIC PREP CODE TEST CODE REAL CODE Prep code: A form of pseudocode, to help you focus on the logic without stressing about syntax. Test code: A class or methods that will test the real code and validate that it’s doing the right thing. Real code: The actual implementation of the class. This is where you put the real Java code.
- 9. Prep Code Most prepcode includes three parts: Instance variable declarations Method declarations Method logic LIS4930 © PIC PREP CODE SimpleDotCom int[] locationCells intnumOfHits String checkYourself(String guess) void setLocationCells(int[] loc) Let’s give it a try! See page 100
- 10. Test Code LIS4930 © PIC TEST CODE The concept of writing the test code first is one of the practices of Extreme Programming (XP), and it can make it easier (and faster) for you to write your code. Based on our prep code what should we test?
- 13. Final code for SimpleDotCom and SimpleDotComTestDrive LIS4930 © PIC
- 14. Let’s Finish Our SimpleDotComGame Class LIS4930 © PIC Check out the prep code on page 108. Check out the main() method on page 110. Let’s Play!
- 15. More about for loops! LIS4930 © PIC for (inti = 0; i < 100; i++) { } Part One: initialization Part Two: boolean test Part Three: iteration expression Take a trip through a for() loop on page 115.
- 16. Difference Between While and For LIS4930 © PIC The whileloop has only the Boolean test; it doesn’t have a built-in initialization or iteration expression.A whileloop is good when you don’t know how many times to loop and just want to keep going while some condition is true. But, if you knowhow many times to loop a forloop is cleaner. Let’s compare the two types of loops.
- 17. The Enhanced For Loop! LIS4930 © PIC for (String name : nameArray) { } Part One: initialization variable declaration Part Two: the actual collection Let’s look at an example!
- 18. Casting Primitives LIS4930 © PIC I have already gone over this concept in class, but read page 117 in your textbook for a more in-depth explanation. long byte can be cast to