Hallo,
Ich habe in einer Klasse folgende Methode:
void person_hinein(int x) {
anzahl_personen += x;
}
Zuerst wollte ich danach prüfen, dass mir bei nicht übergebenem Wert die Variable anzahl_personen einfach um eins inkrementiert wird, und zwar ungefähr so:
void person_hinein(int x) {
if (x == true)
anzahl_personen += x;
else
anzahl_personen ++;
}
if (x) darf ich in Java sowieso nicht schreiben, aber wenn ich etwas wie if ((boolean)x == true) schreibe, meckert der Compiler auch. Ich kann natürlich eine zweite Methode..
void person_hinein() {
anzahl_personen++;
}
..schreiben, was dann auch funktioniert, aber es erscheint mir ziemlich umständlich. Wie kann man das eleganter lösen?
Mein 2. Problem liegt an den ersten beiden Beispielen (jene, wo "package v1" ganz oben steht) hier: http://www.galileocomputing.de/openbook/javainsel4/javainsel_06_000.htm#Rxx365java06000040001AC1F03F102
Ich habe ein Verzeichnis angelegt, das genauso v1 heißt, und die Klassen darin platziert, aber ich konnte die 2. Klasse nicht kompilieren (weder meine eigens veränderte noch die Orginale aus der Doku). Ich bekomme Fehler wie:
discobetrieb.java:5: cannot resolve symbol
symbol : class disco
location: class disc.discobetrieb
disco abzappler = new disco();
^
discobetrieb.java:5: cannot resolve symbol
symbol : class disco
location: class disc.discobetrieb
disco abzappler = new disco();
2 errors.
(discobetrieb heißt meine 2. Klasse und nicht DiskoFieber wie in der Doku).
Das Seltsame ist, wenn ich die "package" Angabe aus beiden Klassen entferne, kann ich beide kompilieren und ausführen. Was bringt dieses package nun, und warum funktionieren nicht mal das Orginalbeispiel, wenn "package" angeführt ist? Was muss man bedenken, oder liegt ein Fehler in der Doku vor?
Markus.
--
sh:( fo:| ch:? rl:( br:> n4:( ie:{ mo:) va:) de:] zu:) fl:( ss:| ls:] js:|