Exercise Solutions: Control Flow and Collections¶
Array Practice¶
Create and initialize an array with the following values in a single line:
1, 1, 2, 3, 5, 8
.int[] integerArray = {1, 1, 2, 3, 5, 8};
For this exercise, use the string
I would not, could not, in a box. I would not, could not with a fox. I will not eat them in a house. I will not eat them with a mouse.
Use thesplit
method to divide the string at each space and store the individual words in an array. If you need to review the method syntax, look back at the String methods table.String phrase = "I would not, could not, in a box. I would not, could not with a fox. I will not eat them in a house. I will not eat them with a mouse."; String[] words = phrase.split(" "); System.out.println(Arrays.toString(words));
Repeat steps 3 and 4, but change the delimiter to split the string into separate sentences.
String[] sentences = phrase.split("\\."); System.out.println(Arrays.toString(sentences));
ArrayList Practice¶
Write a static method to find the sum of all the even numbers in an ArrayList. Within
main
, create a list with at least 10 integers and call your method on the list.1 2 3 4 5 6 7 8 9
public static int sumEven(ArrayList<Integer> arr) { int total = 0; for (int integer : arr) { if (integer % 2 == 0) { total += integer; } } return total; }
Modify your code to prompt the user to enter the word length for the search.
System.out.println("Enter a word length: "); int numChars = input.nextInt();
HashMap Practice¶
Make a program similar to GradebookHashMap
that does the following:
It takes in student names and ID numbers (as integers) instead of names and grades.
The keys should be the IDs and the values should be the names.
Modify the roster printing code accordingly.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | do {
System.out.print("Student: ");
newStudent = input.nextLine();
if (!newStudent.equals("")) {
System.out.print("ID: ");
Integer newID = input.nextInt();
classRoster.put(newID, newStudent);
input.nextLine();
}
} while(!newStudent.equals(""));
input.close();
System.out.println("\nClass roster:");
for (Map.Entry<Integer, String> student : classRoster.entrySet()) {
System.out.println(student.getValue() + "'s ID: " + student.getKey());
}
System.out.println("Number of students in roster: " + classRoster.size());
|