Hand Tracing - Intro to Java Programming

Hand Tracing - Intro to Java Programming


Hand Tracing - Intro to Java Programming

This video is part of an online course, Intro to Java Programming. Check out the course here: https://www.udacity.com/course/cs046.


Content

0.38 -> You've just worked with Sarah to write and understand several loops, and what
3.848 -> will often happen to you that you have a loop that's really mysterious. And
8.326 -> I'll give you an example. Here's some code that comes from a program that you
11.89 -> will improve in a bit to solve a common problem, namely to identify reverse
15.92 -> digits in a credit card. So let's see what this code does. What you always want
21.168 -> to do is get out a sheet of paper. Here's my sheet of paper. You make a table.
24.86 -> One column for every variable. There's a variable n, there's a variable sum.
28.89 -> Now, it's always a good idea to take a marker, I like to use a paper clip to
32.017 -> mark where we are. So, we set n to 365 and we set the sum to 0. Now, we enter
38.696 -> the loop. Is n greater than 0? It sure is. We get to this statement. Now, we
43.216 -> need to compute n modulo 10. That's the last digit of n. That would be 5. and
48.422 -> now we have a new variable! We record it, we put in the 5. Moving on, sum is
53.556 -> sum plus digit, n is n divided by 10, it's an integer division so we discard
57.46 -> the remainder. We move to the top of the loop. Is n greater than 0? Compute n
63.944 -> MOD 10, 36 MOD 10 is 6, store that in the digit. Sum is sum plus digit. It is
70.502 -> 11. n is n, what, 10. Now, n is 3. Back to the top of the loop. Is 3 greater
74.96 -> than 0? It barely is, so we stay in the loop. Now, we need to take 3 MOD 10.
80.288 -> That's 3. Add it to the sum. Divide n by 10, that's an integer division, so now
84.444 -> we get 0. 0 is no longer greater than 0. We fall out of the loop, and go to
88.95 -> this statement. And what are we printing? You're printing 14. Okay, well,
93.65 -> what's 14? Well, we've computed all of the digits of the number 365, 3, the 6,
98.124 -> the 5, and we've computed their sum. 14 is the sum of the digits. And that's
105.295 -> almost what one needs to do in order to verify a credit card. You'll see in
109.32 -> your next programming assignment what sum of digits you exactly need to do.

Source: https://www.youtube.com/watch?v=TZss5ukwN8s