import easyIO.*;
import java.util.*;
class Universitet {
static HashMap studenter;
static HashMap kurs;
static In tastatur = new In();
public static void main(String[] args) {
studenter = new HashMap();
kurs = new HashMap();
char c;
System.out.print("Oppgi kommando: ");
c = (tastatur.inLine()).charAt(0);
while (c != 'Q') {
switch(c) {
case 'S':
nyStudent(); break;
case 'K':
nyttKurs(); break;
case 'P':
påmelding(); break;
case 'V':
visStudent(); break;
case 'E':
visKurs(); break;
default:
System.out.println("Lovlige kommandoer: S, K, P, V, E, Q");
}
System.out.print("Oppgi kommando: ");
c = (tastatur.inLine()).charAt(0);
}
}
static void nyStudent() {
Student s = new Student(tastatur);
if (studenter.containsKey(s.visNavn())) {
System.out.println("Studenten er allerede registrert.");
} else {
studenter.put(s.visNavn(), s);
}
}
static void nyttKurs() {
Kurs k = new Kurs(tastatur);
if (kurs.containsKey(k.visKode())) {
System.out.println("Kurset er allerede registrert.");
} else {
kurs.put(k.visKode(), k);
}
}
static void påmelding() {
Student s;
Kurs k;
System.out.print("Oppgi studentens navn: ");
String navn = tastatur.inLine().trim();
if (studenter.containsKey(navn)) {
System.out.print("Oppgi kurskode: ");
String kode = tastatur.inLine().trim();
if (kurs.containsKey(kode)) {
s = (Student) studenter.get(navn);
k = (Kurs) kurs.get(kode);
s.addKurs(k);
k.addStudent(s);
System.out.println(s.visNavn() + " er påmeldt " + k.visKode());
} else {
System.out.println("Ukjent kurs.");
}
} else {
System.out.println("Ukjent student.");
}
}
static void visStudent() {
Student s;
System.out.print("Oppgi studentens navn: ");
String navn = tastatur.inLine().trim();
if (studenter.containsKey(navn)) {
s = (Student) studenter.get(navn);
s.visKurs();
} else {
System.out.println("Ukjent student.");
}
}
static void visKurs() {
Kurs k;
System.out.print("Oppgi kurskode: ");
String kode = tastatur.inLine().trim();
if (kurs.containsKey(kode)) {
k = (Kurs) kurs.get(kode);
k.visStudenter();
} else {
System.out.println("Ukjent kurs.");
}
}
}
class Student {
String navn;
ArrayList kurs;
Student(In t) {
System.out.print("Oppgi navn: ");
navn = t.inLine();
kurs = new ArrayList();
}
public void addKurs(Kurs k) {
kurs.add(k);
}
public String visNavn() {
return navn;
}
public void visKurs() {
for (int i = 0; i < kurs.size(); i++) {
Kurs k = (Kurs) kurs.get(i);
System.out.println(k.visKode());
}
}
}
class Kurs {
String kode;
String navn;
ArrayList studenter;
Kurs(In t) {
System.out.print("Oppgi kurskode: ");
kode = t.inLine();
System.out.print("Oppgi kursnavn: ");
navn = t.inLine();
studenter = new ArrayList();
}
public void addStudent(Student s) {
studenter.add(s);
}
public String visKode() {
return kode;
}
public void visStudenter() {
for (int i = 0; i < studenter.size(); i++) {
Student s = (Student) studenter.get(i);
System.out.println(s.visNavn());
}
}
}
Tilbake
|