Fehlermeldung : ClassCastException:null

Status
Nicht offen für weitere Antworten.
M

maddy04

Gast
Hallo,

ich hab hier eine Klasse Verwaltung. Diese soll Namen und die dazugehörigen Zimmernummern+Apparatnummern verwalten. Wir kennen bis jetzt Arraylist, also hab ich es auch damit versucht.

Nun soll es eine Methode geben, bei der man den Namen eingibt und die Apparatnummer herausbekommt. (bei mir heißt sie findeNummer() )
Ich bekomme nun in dieser Methode die Fehlermeldung "ClassCastException:null"
Vielleicht kann mir ja einer dabei helfen.

hier der Quellcode
Code:
import java.util.ArrayList;
/**
 * Telefonbuch
 * 
 * @Autor:   Marco Dohnke 
 * @Version: 0.1
 */
public class Verwaltung
{
	// instance variables - replace the example below with your own
	private ArrayList namen;
	private ArrayList zimmer;
	private ArrayList nummern;
	private int number;
	private int zimmernummer;
	/**
	 * Constructor for objects of class Verwaltung
	 */
	public Verwaltung()
	{
		namen = new ArrayList();
		zimmer = new ArrayList();
		nummern = new ArrayList();
	}
    /**
     * Zugriffsmethoden
     */
    
    public int anzahlNamen(){
      return namen.size();
    }
    
	public void setDaten(String name,int z,int nr){
      namen.add(name);
      zimmer.add( new Integer(z) );
      nummern.add( new Integer(nr) ) ;
	}//ende setDaten
	
	public int findeNummer(String name){
	  int index = 0;
	  while ( index < anzahlNamen() ){
	    if ( name.equals(namen.get(index)) ){String zimmernummer = (String) nummern.get(index);} else { zimmernummer = 0; }
	    index++;
	  }
	  return zimmernummer;
	}//ende findeNummer
	
	
}
In Zeile 42 bekomme ich diese Meldung...
danke für die hilfe

cya
 
B

bygones

Gast
Code:
nummern.add( new Integer(nr) ) ;

(String) nummern.get(index)
kann ja nicht gehen... du fügst Integers hinzu, castes aber zu einem String !
 

Sky

Top Contributor
Du solltest Dir deine Variablen nochmal angucken...

- int zimmernummer als Klassenvariable
- in findeNummer holst Du aus "zimmer" einen String raus, obwohl Du ein Integer reinsteckst
- Zimmernummer ist einmal ein String und einmal ein int in findeNummer
 
M

maddy04

Gast
hmm komisch, ich bekomm nun (ohne Änderung) einen neuen Fehler:

in der Zeile:

Code:
if ( name.equals(namen.get(index)) ){ zimmernummer = nummern.get(index);} else { zimmernummer = 0; }

incompatible types - found java.lang.Object but expected int


was soll ich tun?

danke
 
M

maddy04

Gast
Juhu ich hab die Lösung gefunden.

die richtige Zeile lautet:

Code:
if ( name.equals(namen.get(index)) ){zimmernummer = (Integer)nummern.get(index);} else { zimmernummer = 0; }

so sucht er mir die richtige Zahl raus *puh*

danke für eure bemühungen...

cya
 

maddy04

Mitglied
Eine weitere Frage hätte ich da aber noch:

wie kann ich das ganze mit nur einer arraylist handeln? Also Name, Zimmernummer und Apparatnummer sollen in nur einer Arraylist stehen.

Danke im Voraus...

cya
 

Mag1c

Top Contributor
Indem du für diese Informationen eine eigene Klasse entwirfst und Objekt-Instanzen davon dann in der einen ArrayList speicherst.

Code:
public class PersonalInfo {
  public PersonalInfo (String n, int znr, int anr) {
    name = n;
    zimmerNr = znr;
    apparatNr = anr;
  }

  private String name;
  private int zimmerNr;
  private int apparatNr;
}

Code:
...
  public void setDaten(String name,int z,int nr){ 
    liste.add(new PersonalInfo(name, z, nr);
  }//ende setDaten
...

Gruß
Mag1c
 

maddy04

Mitglied
danke ich teste das mal.

cya

EDIT:

also anscheinend klappt da was nicht.

So wie du das hast gibt er mir folgenden Fehler:
"invalid method declaration; return type required"

Das heißt soviel dass er denkt es wäre ne Methode. Nun frag ich mich ob ich das an die falsche Stelle gesetzt hab oder ob da wirklich was fehlt. hier mein Gesamter Quelltext:
Code:
import java.util.ArrayList;
/**
 * Telefonbuch
 * 
 * @Autor:   Marco Dohnke 
 * @Version: 0.1
 */
public class Verwaltung
{
	// instance variables - replace the example below with your own
	public Daten (String n, int znr, int anr) {
      name = n;
      zimmerNr = znr;
      apparatNr = anr;
    }

    private String name;
    private int zimmerNr;
    private int apparatNr; 
    
  	private ArrayList daten;

  	/**
	 * Constructor for objects of class Verwaltung
	 */
	public Verwaltung()
	{
		daten = new ArrayList();
	}
    /**
     * Zugriffsmethoden
     */

    public int anzahlNamen(){
      return daten.size();
    }
    
	public void setDaten(String name,int z,int nr){
      daten.add(new Daten(name,z,nr) );
	}//ende setDaten
}

ich wäre dankbar für hilfe...
 

Mag1c

Top Contributor
Hi,

da das eine eigene Klasse ist, muß das auch in eine eigene Datei.

Verwaltung.java
Code:
public class Verwaltung {
  public Verwaltung () {
    daten = new ArrayList();
  }

  public int anzahlNamen () { 
    return daten.size();
  }

  public void addDaten (String name,int z,int nr) {
    daten.add(new Datensatz(name,z,nr));
  }//ende setDaten
}

Datensatz.java
Code:
public class Datensatz {
  public Datensatz (String n, int znr, int anr) {
    name = n;
    zimmerNr = znr;
    apparatNr = anr;
  }

  private String name;
  private int zimmerNr;
  private int apparatNr;
}
 

maddy04

Mitglied
cool danke...

also brauch ich für jede arraylist in die ich mehrere Datentypen speichern will ne neue klasse?
ist das der einzige Weg?

und noch ne frage: wie kann ich später auf die einzelnen Elemnte zurückgreifen, also zugreifen, wie genau komm ich da ran?


cya
 

Mag1c

Top Contributor
Hi,

hmm, also das gehört zu den Grundlagen der OOP. Es geht darum, Objekte/Klassen mit ihren Eigenschaften zu identifizieren und zu implementieren. Durch Vererbung lassen sich Verallgemeinerungen abbilden. Durch Interfaces kann man bestimmte Verhaltensweisen anzeigen oder interne Angelegenheiten verbergen.

Wenn nun in deinem Programm Name, Zimmernummer und Apparatenummer als Einheit/Objekt angesehen werden kann, bildest du daraus ein Klasse. Was du damit später mal anstellst spielt erstmal keine Rolle. Ob die nun in einer ArrayList einem Vector oder gar einem Array ablegelegt werden ... völlig egal ;)

Zum Klassendesign gehört auch die Definition der Schnittstelle. Welche Methoden stellst du zur Verfügung. Wie kann man auf die enthaltenen Daten zugreifen. In deinem Fall kommen z.B. ein paar get-Methoden in Frage, was dann auch dei Antwort auf deine zweite Frage ist.

Gruß
Mag1c
 

maddy04

Mitglied
jo der aufbau beim OOP war mir klar, danke trotzdem für die erklärung.
was ich bei 2. meinte ist, wie ich syntax-mäßig an den Inhalt von zum Beispiel dem ersten Namen komme.

ich hab schon bissl was probiert
daten.name.get(index) geht nicht, genauso wenig sämtliche ähnliche formen.

Ich würd nur gern wissen wie ich den index'ten Datensatz rausbekomme, danke
 

Mag1c

Top Contributor
Hi,

// i-ten Datensatz
Datensatz d = (Datensatz) daten.get(i);

// Name
d.getName();

// Zimmer-Nr
d.getZimmerNr();

// Apparate-Nr.
d.getApparatNr();

die get-Methoden müssen natürlich in der Klasse Datensatz entsprechend implementiert sein.

Gruß
Mag1c
 

maddy04

Mitglied
Danke für die Hilfe.

Nun habe ich in der Klasse Verwaltung eine Methode geschrieben, welche versucht den Namen anhand der zimmerNummer rauszubekommen.

Code:
	public String findeName(int zNr){
	   int index = 0;
	   while ( index < anzahlNamen() ){
	     Datensatz d = (Datensatz) daten.get(index);
	     int zNr1 = d.getZimmerNr(); 
	     String n1 = d.getName();
	     if (zNr == zNr1) {n = n1;} else {n = new String("Kein Eintrag");}
       }//ende while
	   return n;
	   }//ende findeName

Nur leider hängt sich mein System da nahezu auf.

ich arbeite mit BlueJ (darans solls nicht liegen, sondern eher am Code) und er arbeitet an der einen Methode schon 2 Minuten obwohl da nur ein Datensatz drin steht

achja:
Code:
    public int anzahlNamen(){
      return daten.size();
    }

Hoffe jemand kann mir helfen

EDIT: Fehler gefunden: hab vergessen index hochzählen zu lassen...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ronny123 Erste Schritte Fehlermeldung Java Basics - Anfänger-Themen 1
F Fehlermeldung in Eclipse Java Basics - Anfänger-Themen 13
AllBlack Fehlermeldung Java Basics - Anfänger-Themen 19
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
J Fehlermeldung unverständlich für Jakarta Java Basics - Anfänger-Themen 17
Ostkreuz Fehlermeldung Java Basics - Anfänger-Themen 1
_so_far_away_ Fehlermeldung "Index 2 out of bounds for length 2" Java Basics - Anfänger-Themen 7
W Texteingabe - Bedeutung Fehlermeldung, Lösung? Java Basics - Anfänger-Themen 18
krgewb Fehlermeldung in web.xml Java Basics - Anfänger-Themen 4
W Warum diese Fehlermeldung? Java Basics - Anfänger-Themen 12
nbergmann Unverständliche Fehlermeldung Java Basics - Anfänger-Themen 56
E fehlermeldung bei richtigen login daten Java Basics - Anfänger-Themen 7
J Fehlermeldung im Checkstyle Java Basics - Anfänger-Themen 11
S Fehlermeldung Java Basics - Anfänger-Themen 7
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
EchtKeineAhnungManchmal Hallo :) ich bekomme es nicht hin eine Fehlermeldung auszugeben über die GUI Java Basics - Anfänger-Themen 3
C Fehlermeldung Array zuweisen und printen Java Basics - Anfänger-Themen 22
J Fehlermeldung Java Basics - Anfänger-Themen 22
J Fehlermeldung: A JNI error Java Basics - Anfänger-Themen 3
R Fehlermeldung aber WO liegt der Fehler? Java Basics - Anfänger-Themen 7
JavaClara Fehlermeldung bei split-Methode Java Basics - Anfänger-Themen 12
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
C Fehlermeldung InOut. Java Basics - Anfänger-Themen 7
B Methoden if-statement error, FX, Fehlermeldung Java Basics - Anfänger-Themen 6
A Fehlermeldung Java Basics - Anfänger-Themen 5
H Comparator Fehlermeldung Java Basics - Anfänger-Themen 5
D Folgende Fehlermeldung bei der Installation von JAVAFX Java Basics - Anfänger-Themen 1
M Java heap space Fehlermeldung beheben Java Basics - Anfänger-Themen 3
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
T Fehlermeldung beim Versuch, einen String einzulesen Java Basics - Anfänger-Themen 4
S Bitte Hilfe zu Fehlermeldung am Handy Java Basics - Anfänger-Themen 2
H fehlermeldung Java Basics - Anfänger-Themen 447
H fehlermeldung Java Basics - Anfänger-Themen 9
T Fehlermeldung beim Starten von FlashTool Java Basics - Anfänger-Themen 27
C Fehlermeldung mit Intger. Java Basics - Anfänger-Themen 3
A Fehlermeldung Java Basics - Anfänger-Themen 3
D Wie kann man eine solche Fehlermeldung abfangen Java Basics - Anfänger-Themen 4
H Fehlermeldung bei der Ausführung eines Compilierten PRGs Java Basics - Anfänger-Themen 9
N Fehlermeldung beim ausführen des Programmes.. Java Basics - Anfänger-Themen 3
x-tshainge Fehlermeldung Java Basics - Anfänger-Themen 2
M Erste Schritte NetBeans Fehlermeldung Java Basics - Anfänger-Themen 2
D Fehlermeldung obwohl Variablen bereits deklariert sind? Java Basics - Anfänger-Themen 14
N Fehlermeldung bei Methode Java Basics - Anfänger-Themen 12
I String index out of range Fehlermeldung Java Basics - Anfänger-Themen 4
I Fehlermeldung bei Darstellung von Arrays Java Basics - Anfänger-Themen 2
S Variablen JLabel backImagePanel Fehlermeldung Java Basics - Anfänger-Themen 3
A checkstyle Fehlermeldung Java Basics - Anfänger-Themen 1
G Compiler-Fehler Fehlermeldung Java Basics - Anfänger-Themen 3
Pr0m3theus Fehlermeldung ArrayList add Java Basics - Anfänger-Themen 12
Arabicabohne Fehlermeldung bei Eclipse Java Basics - Anfänger-Themen 23
lBlKha0s Fehlermeldung : class interface or enum expected Java Basics - Anfänger-Themen 9
TheMenox Fehlermeldung / Arrays, Enhanced For Loops Java Basics - Anfänger-Themen 16
D Compiler-Fehler Anfänger Fehlermeldung Java Basics - Anfänger-Themen 3
Henri Fehlermeldung Java Basics - Anfänger-Themen 2
K Erste Schritte Fehlermeldung Java Basics - Anfänger-Themen 2
I Fehlermeldung: Java does not contain a main type Java Basics - Anfänger-Themen 1
J Fehlermeldung : cannot invoke char(at) int on the primitive type int --- Anfänger Java Basics - Anfänger-Themen 5
J Bug? Seltsame Fehlermeldung Java Basics - Anfänger-Themen 7
J Fehlermeldung else without if Java Basics - Anfänger-Themen 5
J while(nst == 0) gibt Fehlermeldung Java Basics - Anfänger-Themen 4
L Fehlermeldung Java Basics - Anfänger-Themen 6
D Erste Schritte Fehlermeldung "Syntax error on token ";", { expected after this token" Java Basics - Anfänger-Themen 13
J Launcher Fehlermeldung Java Basics - Anfänger-Themen 0
A Fehlermeldung Unklar, google hilft auch nicht weiter Java Basics - Anfänger-Themen 2
H Compiler-Fehler Fehlermeldung Kompilier Java Basics - Anfänger-Themen 4
A Fehlermeldung Unklar. Java Basics - Anfänger-Themen 1
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
D Integer Fehlermeldung exception Java Basics - Anfänger-Themen 4
A Fehlermeldung beim aufruf der main Methode Java Basics - Anfänger-Themen 17
D Fehlermeldung beim Ausführen eines Java Programms Java Basics - Anfänger-Themen 4
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
S Vererbung Fehlermeldung: the hierarchy of the type "class name" is inconsistent Java Basics - Anfänger-Themen 10
D Fehlermeldung "com.element.JavaUpload.Manager" Java Basics - Anfänger-Themen 1
S Fehlermeldung bei format methode Java Basics - Anfänger-Themen 1
A Compiler-Fehler Fehlermeldung auf Mac Java Basics - Anfänger-Themen 3
K JDBC - Wie ist Fehlermeldung zu interpretieren Java Basics - Anfänger-Themen 3
O Methoden Fehlermeldung(Illegal start of expression) bei 4-Gewinnt-Spiel Java Basics - Anfänger-Themen 5
N Fehlermeldung nicht nachvollziehbar Java Basics - Anfänger-Themen 5
S Class File Editor gibt beim Start der Programms die Fehlermeldung Source not found aus Java Basics - Anfänger-Themen 1
C addActionListener(this) - Fehlermeldung Java Basics - Anfänger-Themen 8
C Array List mit String vergleichen und Fehlermeldung ausgeben Java Basics - Anfänger-Themen 6
X Einfach verkettete Liste, keine Fehlermeldung Programm friert ein Java Basics - Anfänger-Themen 4
G Variablen Warum bekomme ich da eine Fehlermeldung? Java Basics - Anfänger-Themen 3
C GUI - SWT - Button-Fehlermeldung Java Basics - Anfänger-Themen 5
F Input/Output IOTools Fehlermeldung: cannot be resolved Java Basics - Anfänger-Themen 16
K Erste Schritte Datei gelöscht - nun Fehlermeldung Java Basics - Anfänger-Themen 2
S Fehlermeldung Java Basics - Anfänger-Themen 8
E Fehlermeldung und Fenster wird nicht mehr angezeigt Java Basics - Anfänger-Themen 12
E Fehlermeldung Java Basics - Anfänger-Themen 13
K Transparents Bild laden -> Fehlermeldung Java Basics - Anfänger-Themen 6
J Fehlermeldung reagieren Java Basics - Anfänger-Themen 10
F Array Fehlermeldung... Java Basics - Anfänger-Themen 2
B Fehlermeldung bei Klasse mit array Java Basics - Anfänger-Themen 3
L Erste Schritte Fehlermeldung bei Array-Programm Java Basics - Anfänger-Themen 4
G Fehlermeldung: A fatal error has been detected by the Java Runtime Environment Java Basics - Anfänger-Themen 7
Gugelhupf JDK installieren Fehlermeldung 1336 - Java SDK 7 Update 5 x64 Java Basics - Anfänger-Themen 4
K Fehlermeldung nach editor installation Java Basics - Anfänger-Themen 3
P Input/Output JOptionPane Fehlermeldung Catchen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben