Hi an alle,
Wieder ein neuer mit neuen Problemen. Das Szenario sieht folgendermaßen aus:
Programmierungsklausur rückt immer näher, habe alte Klausuraufgaben, jedoch keine Lösungen dazu.
Somit fällt es echt schwer Fehler zu finden, da man nirgends eine vernünftige Vergleichsmöglichkeit hat. Internetquellen haben mir in diesen speziellen Fällen auch nicht weitergeholfen.
Vielleicht habt ja jemand die Muße sich mit dem Kram zu beschäftigen und mich auf den richtigen Weg zu treten. Keine Lust falsche Sachen zu lernen und die Klausur komplett zu verhauen.
Ok hier mal eine die kleine Spitze des Eisbergs:
Aufgabe (zusammengekürzt):
In einer Umfrage über Filme hat sich ergeben ( Stimmen für Film , Filmname):
435 Avatar
159 Matrix
239 Scream
59 Citizen Kane
(Sind in diesem Format in Textdatei gespeichert =Daten.txt)
In einem Programm "Umfrage" sollen diese Daten verarbeitet werden. Dabei soll eine einfach verkettete Liste "filmListe" die Daten der Datei representieren.
Die Klasse FilmListe sieht so aus:
Schreiben sie nun die Implementierung des Konstruktors Umfrage(In in).
Das In Objekt hat hierbei die Struktur wie beschriebene Datei. Die Liste soll nach der angegebenen Datei folgendermaßen aussehen:
filmListe-->Avatar-->Matrix-->Scream-->Citizen Kane-->null
Soweit so gut. simple Sache das. Aber es will nicht. Und wenn diese Teilaufgabe nicht geht, kann ich die darauf aufbauenden nicht Kontrollieren ( welche bestimmt ebenfalls falsch sind. yey!)
In.Java ist natürlich im selben Ordner. "Daten.txt" ebenfalls.
Das ist mein Code soweit:
Die toString ist nicht notwendig für Aufgabe, aber hab ich drangehängt wegen dem Testclient:
Und das spuckt die Konsole mir aus:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextInt(Scanner.java:2091)
at java.util.Scanner.nextInt(Scanner.java:2050)
at In.readInt(In.java:171)
at Umfrage.<init>(Umfrage.java:21)
at test1.main(test1.java:10)
Der Debugger funktioniert bei mir auch nicht so recht ( eclipse) wenn Code in mehreren Dateien gesplittet ist. Naja, ob der mir so viel weiterhelfen würde sei mal dahingestellt.
Bin für Hilfe echt dankbar
Thx
Dudsen
Wieder ein neuer mit neuen Problemen. Das Szenario sieht folgendermaßen aus:
Programmierungsklausur rückt immer näher, habe alte Klausuraufgaben, jedoch keine Lösungen dazu.
Somit fällt es echt schwer Fehler zu finden, da man nirgends eine vernünftige Vergleichsmöglichkeit hat. Internetquellen haben mir in diesen speziellen Fällen auch nicht weitergeholfen.
Vielleicht habt ja jemand die Muße sich mit dem Kram zu beschäftigen und mich auf den richtigen Weg zu treten. Keine Lust falsche Sachen zu lernen und die Klausur komplett zu verhauen.
Ok hier mal eine die kleine Spitze des Eisbergs:
Aufgabe (zusammengekürzt):
In einer Umfrage über Filme hat sich ergeben ( Stimmen für Film , Filmname):
435 Avatar
159 Matrix
239 Scream
59 Citizen Kane
(Sind in diesem Format in Textdatei gespeichert =Daten.txt)
In einem Programm "Umfrage" sollen diese Daten verarbeitet werden. Dabei soll eine einfach verkettete Liste "filmListe" die Daten der Datei representieren.
Java:
public class Umfrage{
public Umfrage(In in){
......
}
//weiterer Code, der erst mal hier nicht relevant ist
Die Klasse FilmListe sieht so aus:
Java:
public class FilmListe {
public int stimmen;
public String titel;
public FilmListe next;
FilmListe(int stimmen, String titel){
this.stimmen=stimmen;
this.titel=titel;
next=null;
}
}
Schreiben sie nun die Implementierung des Konstruktors Umfrage(In in).
Das In Objekt hat hierbei die Struktur wie beschriebene Datei. Die Liste soll nach der angegebenen Datei folgendermaßen aussehen:
filmListe-->Avatar-->Matrix-->Scream-->Citizen Kane-->null
Soweit so gut. simple Sache das. Aber es will nicht. Und wenn diese Teilaufgabe nicht geht, kann ich die darauf aufbauenden nicht Kontrollieren ( welche bestimmt ebenfalls falsch sind. yey!)
In.Java ist natürlich im selben Ordner. "Daten.txt" ebenfalls.
Das ist mein Code soweit:
Java:
public class Umfrage {
private FilmListe filmListe;
public Umfrage(In in){
filmListe=null;
FilmListe newfirst=null;
FilmListe current=null;
int stimmen;
String titel;
if (filmListe==null){
stimmen=in.readInt();
titel=in.readString();
filmListe=new FilmListe(stimmen,titel);
current=filmListe;
}
while(!in.isEmpty()){
stimmen=in.readInt();
titel= in.readString();
newfirst=new FilmListe(stimmen,titel);
current.next=newfirst;
newfirst.next=null;
current=newfirst;
}
}
public String toString(){
String a="";
for(FilmListe x= filmListe;x!=null;x=x.next){
a+=x;
}
return a;
}
}
Die toString ist nicht notwendig für Aufgabe, aber hab ich drangehängt wegen dem Testclient:
Java:
public class test1 {
public static void main(String[] args) {
In in=new In("Daten.txt");
Umfrage a=new Umfrage(in);
System.out.println(a);
}
}
Und das spuckt die Konsole mir aus:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextInt(Scanner.java:2091)
at java.util.Scanner.nextInt(Scanner.java:2050)
at In.readInt(In.java:171)
at Umfrage.<init>(Umfrage.java:21)
at test1.main(test1.java:10)
Der Debugger funktioniert bei mir auch nicht so recht ( eclipse) wenn Code in mehreren Dateien gesplittet ist. Naja, ob der mir so viel weiterhelfen würde sei mal dahingestellt.
Bin für Hilfe echt dankbar
Thx
Dudsen