Exceptions

softy12

Mitglied
Hallo,

Ich habe folgenden Code-Abschnitt:

Java:
int numberOfStudents = 0;
System.out.println(“The total number of students is “
+ numberOfStudents);



Dieser wurde auf folgenden Code geändert:

Java:
Integer numberOfStudents = null;
System.out.println(numberOfStudents.toString());



Meine Frage: Worin liegt bei dieser Änderung der Denkfehler?
Weshalb funktioniert das Programm nicht wie gewollt? Und welche Exception wird geworfen, wenn der Code ausgeführt wird?

Ich hoffe ihr könnt mir helfen 🙂

Danke im Voraus...
 
Versteh ich das richtig, dass deine Hausaufgabe darin besteht, die jeweilige Exception zu nennen?
Ich kau dir sicherlich nicht die Lösung vor, aber wenn du einen Ansatz hast, was das Problem sein könnte, kannst du dich gerne mit deinen Gedanken melden.
 
Wenn du wissen willst, welche Exception fliegt, dann probiert das Programm doch einfach aus 🙂
Ich würde sagen, dass eine NullPointer fliegt.

Der Unterschied zwischen null und 0 ist dir bekannt?
 
Was ist denn der Unterschied zwischen null und 0?
Und wann benutze ich die Integer Klasse anstatt von int?
 
Zuletzt bearbeitet:
null-Referenz ist ein Stichwort für Lehrbücher/ Suchmaschinen,
Galileo Computing :: Java ist auch eine Insel - 3 Klassen und Objekte

Unterschied Klassen/ Objekte zu primitiven Datentypen auch dringendst zu wissen
(und nein, es lohnt nicht immer, alles dann als Frage zu formulieren 😉 edit: oder doch )

> Und wann benutze ich die Integer Klasse anstatt von int?

das ist nicht direkt deine Aufgabe, auch nicht wirklich interessant für deinen Wissensstand,
insofern etwas zweifelhaftes Thema, aber wenn es sein muss:
z.B. gehen keine ints in eine Liste oder alles andere was eher auf Objekte ausgelegt ist, z.B. Generics, Comparable usw.
musst du jetzt aber wie gesagt nicht zwingend verstehen
 
Zuletzt bearbeitet von einem Moderator:
integer ist ein primitiver Datentyp, zb 0,1,2,4
Da gewisse Objekten icht mit Primitiven Datentypen arbeiten können, gibt es so genannte Wrapper Klassen zb Integer
Ein Objekt das eine Zahl repräsentiert
0 ist 0 und null zeigt auf nix. null ist nix
von nix kann man keine Methode aufrufen. NullPointerException
 
Danke für eure Antworten... 😀
Jetzt ist mir einiges klarer..

Eine Frage habe ich aber noch:
Könnte man theoretisch die Methode "toString()" mit "numberOfStudents", das ja eine Variable ist, aufrufen, wenn "numberOfStudents" einen gültigen int- Wert (also nicht "null") zugewiesen bekommen hätte? Weil normalerweise kann man eine Methode ja nur mit Hilfe eines Objekts aufrufen... :/
 
yea ... vampire ahoi ...

@TO
eigentlich schon schlimm genug das überhaupt jemand bereit war zu sagen was fliegen wird ... war ja eigentlich deine hausaufgabe ...
und wenn man den unterschied zwischen primtives und objects noch nicht verstanden hat sollte man mal google bemühen oder n anfänger-buch zu rate nehmen ...

die frage "wann int , wann Integer" hätte dadurch ebenfalls selbst geklärt werden können ...

und WARUM es primtive-wraper gibt ... naja ... man kann dir jetzt viel an den kopf werfen ... aber verstehen wirst du es eh nicht ...

zu deiner letzten frage : wenn "numberOfStudens" auf ein objekt zeigt kann man "toString()" callen ohne das eine NPE fliegt ...
aber ich denke hier fehlt ein bisschen die erklärung der methode toString() , was sie macht , wo sie herkommt und wozu man sie verwendet ...
hier möchte ich dich echt bitten mal selbst google zu fragen ...
 

Zurück
Oben