Testat 1: Frage

Pokemon
Mausschubser
Mausschubser
Beiträge: 47
Registriert: 5. Apr 2008 01:00

Testat 1: Frage

Beitrag von Pokemon »

hallo,

sollen wir beim Testat 1 wirklich nur die Methode gnomesort( ) und später einen Test( ) schreiben?
Eclipse zeigt mir nämlich mehrere Fehler in class.Studatenbank an; und bin eigentlich zu faul das alles durchzugehen und zu fixen... :evil:

Ach, und wo finde ich das Array in dem die MatrikelNummern gespeichert sind? Hab's wohl irgendwie übersehen..

Benutzeravatar
Krümelmonster
Geek
Geek
Beiträge: 767
Registriert: 17. Okt 2007 13:58
Wohnort: Jossgrund

Re: Testat 1: Frage

Beitrag von Krümelmonster »

sollen wir beim Testat 1 wirklich nur die Methode gnomesort( ) und später einen Test( ) schreiben?
Eigentlich sollte das reichen.
Eclipse zeigt mir nämlich mehrere Fehler in class.Studatenbank an
Lass mich raten. Es sind die Umlaute!
Ach, und wo finde ich das Array in dem die MatrikelNummern gespeichert sind? Hab's wohl irgendwie übersehen..
In der Studatenbank hast du ein Array studi von Visitenkarten.
Auf die Matrikelnummer kannst du mit studi.matrikelnr; zugreifen.
Stell deinen Fuß auf einen hohen Sockel
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!

Pokemon
Mausschubser
Mausschubser
Beiträge: 47
Registriert: 5. Apr 2008 01:00

Re: Testat 1: Frage

Beitrag von Pokemon »

nein, an den Umlauten liegt's nicht.

ich habe Studatenbank.java und Visitenkarte.java im default package geöffnet. Eclipse meckert in class Studatenbank.

Fehlermeldung 1: matrikelnr cannot be resolved or is not a field.

Fehlermeldung 2: The constructor Visitenkarte(int) is undefined.

Benutzeravatar
Rinderhack
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 151
Registriert: 17. Okt 2005 20:13
Wohnort: Großostheim
Kontaktdaten:

Re: Testat 1: Frage

Beitrag von Rinderhack »

Bei mir kommen in Eclipse mit der aktuellen Java JDK Version keine Fehler/Warnungen bei Testat1...

Pokemon
Mausschubser
Mausschubser
Beiträge: 47
Registriert: 5. Apr 2008 01:00

Re: Testat 1: Frage

Beitrag von Pokemon »

ah, jetzt hat er's.
Ich hab das Projekt einmal geschlossen und wieder geöffnet... :?:
Egal...

evel
Erstie
Erstie
Beiträge: 19
Registriert: 16. Nov 2007 11:08

Re: Testat 1: Frage

Beitrag von evel »

muss man für das erste testat neben gnomesort auch die klasse Visitenkarte kommentieren???
dort steht: Write a description....
ist das verlangt um das testat zu bestehen???

SebFreutel
Computerversteher
Computerversteher
Beiträge: 317
Registriert: 30. Okt 2006 21:54

Re: Testat 1: Frage

Beitrag von SebFreutel »

Nein, das wird in dort nur automatisch eingefügt wenn man in BlueJ eine Klasse erstellt, daher steht dieser Platzhalter da. Da in der Klasse Visitenkarte nichts geändert werden muss um gnomesort() zu implementieren (sollte jedenfalls so sein), wird man die im Testat auch gar nicht groß vorstellen müssen.
Als Übung ists aber natürlich nie verkehrt, sich auch Gedanken zu machen, wie man diese Klasse oder ihre Methoden kurz und bündig beschreiben würde. ;)

Pokemon
Mausschubser
Mausschubser
Beiträge: 47
Registriert: 5. Apr 2008 01:00

Re: Testat 1: Frage

Beitrag von Pokemon »

if (studi.matrikelnr > studi[i+1].matrikelnr) // NullPointerExeption

jmd 'ne Idee?

Benutzeravatar
plane
Computerversteher
Computerversteher
Beiträge: 337
Registriert: 21. Okt 2005 00:18

Re: Testat 1: Frage

Beitrag von plane »

wo fängt bei dir i an?

also ich schätze mal das kein element i+1 existiert...
versuchs mal mit i-1 und i

Benutzeravatar
seth2k1
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 153
Registriert: 29. Sep 2006 00:53
Wohnort: Darmstadt - Eberstadt

Re: Testat 1: Frage

Beitrag von seth2k1 »

oder solange i+1 < die länge des arrays..
"Hallo, ich verkaufe diese modischen Lederjacken!"

Benutzeravatar
Hannibal
Windoof-User
Windoof-User
Beiträge: 28
Registriert: 7. Feb 2008 13:50
Kontaktdaten:

Re: Testat 1: Frage

Beitrag von Hannibal »

die frage ist nicht wo i anfängt, sondern wo i aufhört! Es wird ja 1 addiert und nicht subtrahiert.

ich denke mal dass deine obere Grenze der Schleife falsch gesetzt ist...

poste mal die kopfzeile der schleife

@seth2k1 Das Array kann laut Quellcode auch groesser sein ... wichtig is die Zahl der belegten elemente

Benutzeravatar
seth2k1
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 153
Registriert: 29. Sep 2006 00:53
Wohnort: Darmstadt - Eberstadt

Re: Testat 1: Frage

Beitrag von seth2k1 »

stimmt.. hatte ich schonwiede ganz vegessen.. aber vom prinzip her macht man das normal so.. vorrausgesetzt es sind alle plätze belegt
"Hallo, ich verkaufe diese modischen Lederjacken!"

Benutzeravatar
s!mon
Computerversteher
Computerversteher
Beiträge: 373
Registriert: 20. Okt 2007 18:24
Wohnort: Höchst i. Odw

Re: Testat 1: Frage

Beitrag von s!mon »

Sind i oder studi überhaupt initialisiert? Wenn das i nur zu klein/groß ist bekommt man doch keinen Nullpointer..

Pokemon
Mausschubser
Mausschubser
Beiträge: 47
Registriert: 5. Apr 2008 01:00

Re: Testat 1: Frage

Beitrag von Pokemon »

for(int i=0; i < groesse -1;){
if (studi.matrikelnr > studi[i+1].matrikelnr){

initialisieren, ja...sowas hab ich mir schon gedacht. In Sinne von blabla bla = new balbal; oder?
damit tu ich mir noch ein bißchen schwer... ich probier mal rum...

Benutzeravatar
Hannibal
Windoof-User
Windoof-User
Beiträge: 28
Registriert: 7. Feb 2008 13:50
Kontaktdaten:

Re: Testat 1: Frage

Beitrag von Hannibal »

Pokemon hat geschrieben:for(int i=0; i < groesse -1;){
if (studi.matrikelnr > studi[i+1].matrikelnr){


Wie vermutet nimmst du die Variable grosse .. wenn du dir den code genauer anschaust, bemerkst du bestimmt dass ein Array (studi) mit dieser groesse erstellt wird ... nur bedeutet dies NICHT dass auch alle Elemente des Arrays belegt sind! Jedes Element ist erstmal ein Null-Objekt und muss durch ein anderes Objekt ersetzt werden... wenn du nun das Array mit 10 Feldern erstellst aber nur 5 davon befüllst .. hast du ab dem 6. Element eine NullpointerException.

Um das ganze zu vereinfachen gibt es eine Variable "belegt" die du als Obere-Grenze verwenden kannst anstatt "groesse" dennoch solltest du dir angewöhnen immer eine Bedingung einzubauen um Fehler wie zb ne NullpointerException abzufangen bzw zu lokalisieren.

Antworten

Zurück zu „Archiv“