RETT PÅ JAVA
     
 



     Eksempler og løsninger   
     Java og easyIO   
     Retteliste   
     Undervisning   
     Hjelp   
     Om boka   
     Forsiden   
                      



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