Presentation is loading. Please wait.

Presentation is loading. Please wait.

James Wei Professor Peck 9/20/2013

Similar presentations


Presentation on theme: "James Wei Professor Peck 9/20/2013"— Presentation transcript:

1 James Wei Professor Peck 9/20/2013
Recitation 4 James Wei Professor Peck 9/20/2013

2 Covered in this Recitation
Help with Jotto: Common APT List manipulation Debugger example (if you didn’t get to it last week) Google form:

3 Common APT Go to the course APT page and read the prompt for the Common APT. In Eclipse, write code to solve this APT. Use the tester as always to verify that your solution works. Feel free to work with a friend. Ask the TAs if you have any questions!

4 Common APT There are many different ways to solve this APT.
What are some different solutions for Common? How do these different solutions perform (think Big O)? Possible solutions: Double for loop checking if each letter in word 1 is in word 2 and updating word 2 to replace used letters with asterisks (or some other character) Creating a map storing the number of letters in each word then comparing the maps to see how many are in common

5 List Manipulation If you haven’t already, snarf the code for Recitation 4. Run the code for “fruit1.txt” and take note of the output and what the code is doing. Try running the code for “fruit2.txt”. Why doesn’t this code work? Consider: What do the words that fail to be removed have in common? How is the iteration index changing with each iteration? Explanation: Removing an item from the list changes the index of all items behind it in the list; specifically, the element after the removed item has its index set to the index of the removed item, so when we increment the index we skip an item.

6 List Manipulation Let’s fix the code. One way we can do that is by creating a new ArrayList and copying elements over into that new list. Take some time to fix the code in Eclipse by writing a new method called removeFromListGood(). This method should create a new ArrayList, copy over the elements we want to keep from the old list to the new one, then update the old list to be equal to the new list. Consider: How do we make sure we are creating a new list instead of a reference to the existing one? How do we update the old list once we have finished making the new list? Once the students have finished this, it would be good to write the code for removeFromListGood() together.

7 List Manipulation How else can we fix the broken list remove code?
We can try manipulating the index as we loop through the list. Create a new method called removeFromListIndex() that does this. As you code, consider: What is the index at the end of each iteration? What should the index be at the end of each iteration? When should the index be manipulated before the next iteration begins?

8 Debugger Example If you didn’t get to it last week, snarf the MysteryClass.java code from last week. Using the debugger, figure out what the code is doing. Remember: Set breakpoints by double clicking in the left sidebar (just left of the line numbers if you have those enabled) Step over lines of code to see them executed Step into lines of code containing methods to jump to the code for those methods If you find yourself breaking at weird places, you might be in Java source code—make sure you’re not breaking at exceptions and try using step return to get out of unfamiliar territory

9 Don’t forget to submit your answers!
Have a good weekend! Don’t forget to submit your answers!


Download ppt "James Wei Professor Peck 9/20/2013"

Similar presentations


Ads by Google