Module 04: Iteration Flashcards
What would the method call myMethod(“Karel The Dog”, ‘e’) output?

3
What kind of error would the method call myMethod(“Frog”) cause?
public void myMethod(String x)
{
for(int i = 0; i <= x.length(); i++)
{
System.out.println(x.substring(i, i+1));
}
}
- Compile Time Error: Missing return value
- Runtime Error: String index out of range
- Compile Time Error: Unexpected return value
- Compile Time Error: Syntax Error in method definition
- Runtime Error: String index out of range
What will the call to the method funWithNumbers(314159) print to the screen?

314159
What does the call to the method someMethod(3,1) output?

10
What will the call to method patternGrid(3,4,’#’) print?

####
####
####
What would the call to method divideByTen(340) output?
public int divideByTen(int num)
{
while(num / 10 >= 10)
{
num /= 10;
}
return num;
}
34
Consider the following method:
What is returned as a result of the call mystery(“Lunchbox”, 4)?

xoxbox
Consider the following code segment:
int x = 10;
int y = 2;
int count = 1;
while(x > y)
{
x /= y;
count++;
}
What will the value of count be after executing the code segment?
3
What will the final result be when run in the console?

* * * *
* * *
* *
*
Consider the following code segment:
String word = “Cafeteria”;
for(/* missing condition */)
{
System.out.print(word.substring(i+1,i+2) + “ “);
}
The code segment is intended to print every other letter in the word, starting with index 0, to produce the result C f t r a. Which of the following can be used to replace /* missing condition */ so that the code segment works as intended?
- int i = 0; i < word.length(); i+=2
- int i = -1; i < word.length(); i+=2
- int i = 0; i < word.length(); i++
- int i = -1; i <= word.length(); i+=2
- int i = word.length() - 1; i < -1 ; i-=2
- int i = -1; i < word.length(); i+=2
Consider the following code segment:
Which of the following for loops would return the same value if System.out.println(sum) were printed?
III only
II, III and IV
II only
II and III
III and I

II and III
Consider the following method:
What would the value of sum be after the method call countPs(“Peter Piper picked a pack of pickled peppers”)?
9
How many times will the word “Heyo!” be printed in the following code segment?

15
Consider the following code segment:
int num = 8;
for(int i = num; i > 0; i -= 3) //Line 2
{
System.out.print(“ “ + i + “ “);
}
Which of the following best explains how changing i > 0 to i >= 0 will change the result?
- An additional value will be printed, as the for loop will iterate one additional time.
- There will be no change in the program because the for loop will iterate the same number of times.
- One fewer value will be printed, as the for loop will iterate one fewer time.
- This program will result in an infinite loop, as the condition will never be false.
- There will be no change in the program because the for loop will iterate the same number of times
Consider the following method:
What value word would be printed as a result of the call mix(“Hippopotamus”, “p”)?
Hi0o0tamus
Consider the following incomplete code segment, which is intended to increase the value of each digit in a String by one. For example, if num is 12345, then the resulting String would be 23456.
Which of the following should replace /* Missing Loop Header */ so that the code segment works as intended?
- counter < num.length() - 1
- counter <= num.length()
- counter < num.length()
- counter > num.length()
- counter < num.indexOf(counter)

- counter < num.length()
Consider the following code segment:
Which of the following best explains the result of changing j < 4 to j > 4 on line 1?
- The numbers will be printed in reverse order compared to the original because the outer loop will occur in reverse order.
- The program will produce the same result, as the number of iterations in the outer loop hasn’t changed.
- An infinite loop will occur because the termination of the loop will never be reached.
- No output will be produced, as the boolean condition will never be met in the outer for loop.

- No output will be produced, as the boolean condition will never be met in the outer for loop
What, if anything, is printed as a result of executing this statement?
- 150
- 310
- 10204080
- 10204080160
- There will not be any result printed, as ints cannot be converted to type String.

- 10204080
What are while loops?
while (boolean expression)
{
//code executes until false
}
What are infinite loops?
Occurs when the expression in a while loop never evaluates to false. The program continues to run infinitely
What is the purpose of “break?”
Breaks out of a while loop and executes statement that immediately follows while loop
What is the purpose of return?
Keyword used in methods to return a value back to the initial program that called the method
How can you avoid infinity loops?
- Add a condition to the while loop
- Add a “break” statement
- Add a return keyword
What are for loops?
- Another tool we can use to repeat code sequences
- for loops allows repeating a set of statement a specfic number of times!
for(variable initialization; boolean expression; increment)
{
//will execute if boolean is true, and until the boolean expression is false
}
- variable initialization: The initialization; this variable controls the for loop execution
- boolean expression: if the expression is false, the for loop will not execute
- increment: changes the value of the loop control variables
What is “off by one error?”
When a for loop iterates one too few or one to many times, it’s referred to as an Off by One Error
What is the difference between for and while loops?
While loops work better for programs with undetermined amounts of iterations
For loops are best for programs with a predetermined number of iterations
What are string transversals?
- The substring() method is particularly useful when attempting to traverse Strings
- TRAVERSING is the process of going through a String one character at a time, often using loops
General String Traversal:
for(int i = 0; i < string.length(); i++)
{
String character = string.substring(i, i+1);
}
How can you transverse a string using charAt()?
- We can also use chartAt(int index) to access individual characters in a String
General String Traversal:
for(int i = 0; i < string.length(); i++)
{
char character = string.charAt(i);
}
How do you transverse a string to determine how many characters are upperclass?
public int numUpperCase(String string)
{
int counter = 0;
for(int i = 0; i < string.length(); i++)
{
char character = string.charAt(i); //iterates through each character if(isUpperCase(character))
//if the character is uppercase, add one to counter
{
counter++;
}
}
return counter;
}
How do you transverse a string to replace a substring with another substring?

How do you transverse a string to create this method using a while loop?
Using the indexOf() method, we will continue to check the string while the String to remove is in string

How do you create a method that reverses the order of a string?

What does “\t” do?
Inserts a new tab at specific point in the text
What are nested loops?
📎 Putting a loop inside another loop in called nesting
The number of times a nested loop will run is calculated by the number of iterations in the inner loop * iteration of the outer loop
What is an algorithm?
Step-by-step process that solves a problem
What is the statement execution count?
The number of times a statement is executed by the program
What is Big-O Notation?
A way to represent how long an algorithm will take the execute helps to determine how efficient different approaches are.
What makes a good algorithm?
- Correctness
- Efficiency (run time and memory requirements)
- Important because it affects program speed, and program cost
- Easy to understand by someone else
What is Efficiency Cost in algorithms?
📎 An efficient algorithm is one that makes economical use of processing time and computer money
Questions Asks:
- How long does it take to perform this task?
- Is there another approach that will get the answer more quickly?
Running a computer uses CPU Processing Time
- Processing Time is the amount of the time the computer spends processing program instructions
- Computer has a limit to its CPU usage at any given time Computer slows down when computer reaches it upper limit - when applications use to much processing time
Speed also affects program cost
- Serves cost money to run - more CPU usage, the most servers cost
- Limiting process time reduces CPU usage, and can save money on server cost
How do you measure algorithmic performance?
📎 Important to be able to measure (or make an educated guess) about the space and time needed to execute an algorithm = able to compare alternative approaches to a problem you need to solve
- Absolute time of an algorithm can’t be predicted: