Q33 Lesson
My goals for week 17
Problem 33
public class Q33 {
public int methodI(int[] arr) {
int max = Integer.MIN_VALUE;
for (int value:arr) {
if (max<value) {
max = value;
}
}
return max;
}
public int methodII(int[] arr) {
int max = 0;
boolean first = true;
for (int value: arr) {
if (first) {
max = value;
first = false;
}
else if(max < value) {
max = value;
}
}
return max;
}
public int methodIII(int[] arr) {
int max = arr[0];
for (int k = 1; k<arr.length; k++) {
if (max<arr[k]) {
max = arr[k];
}
}
return max;
}
}
public static void main(String[] args) {
Q33 problem = new Q33();
int[] arr = {1, 5, 4, 7, 18, 3, 23, 32};
System.out.println(problem.methodI(arr));
System.out.println(problem.methodII(arr));
System.out.println(problem.methodIII(arr));
}
main(null);
32
32
32
Answer
The correct answer is E, Methods I, II, III
Popcorn Hacks
Look at each of the 3 methods below. Which ones will successfully calculate the max value? Why do the other methods not work?
public class Q33Hacks {
public int methodI(int[] arr) {
int max = Integer.MAX_VALUE;
for (int value:arr) {
if (max<value) {
max = value;
}
}
return max;
}
public int methodII(int[] arr) {
int max = 0;
for (int value: arr) {
if (max < value) {
max = value;
}
}
return max;
}
public int methodIII(int[] arr) {
int max = arr[0];
for (int k = 1; k>arr.length; k++) {
if (max<arr[k]) {
max = arr[k];
}
}
return max;
}
}