– Registration problem((Java language) You have a list of Student ID numbers fol
ID: 3588835 • Letter: #
Question
– Registration problem((Java language)
You have a list of Student ID numbers followed by the course number (separated by a space) that each student is enrolled in. The listing is in no particular order. For instance, if student 1 is in CS100 and CS200 while student 2 is in CS105 and MATH210, then the list might look like this:
1 CS100
2 MATH210
2 CS105
1 CS200
Write a program that reads data in this format from the console. If the ID number is -1, then stop inputting data. Use the HashMap class to map from an Integer (the student ID number) to an ArrayList of type String that holds each course that the student has enrolled in. The declaration should look like the following:
Map> students = new HashMap<>();
After all the data is inputted, iterate through the map and output the student ID number and all courses stored in the vector for the student. The result should be a list of courses organized by the student ID number.
Explanation / Answer
StudentMapTest.java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Map.Entry;
public class StudentMapTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Map<Integer, ArrayList<String>> map = new HashMap<Integer, ArrayList<String>>();
Integer studentId = scan.nextInt();
ArrayList<String> list = null;
while(studentId != -1) {
String courseId = scan.next();
if(map.containsKey(studentId)) {
list = map.get(studentId);
list.add(courseId);
} else {
list = new ArrayList<String>();
list.add(courseId);
}
map.put(studentId, list);
studentId = scan.nextInt();
}
for(Entry<Integer, ArrayList<String>> e: map.entrySet()) {
System.out.println("Student ID: "+e.getKey()+" Courses: "+e.getValue());
}
}
}
Output:
1 CS100
2 MATH210
2 CS105
1 CS200
-1
Student ID: 1 Courses: [CS100, CS200]
Student ID: 2 Courses: [MATH210, CS105]
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.