Archiv verlassen und diese Seite im Standarddesign anzeigen : return und string?
hi all ich komme mal wieder nicht weiter ;( ich habe ein kleines prog,in dem hab ich folgenden aufruf
conf_file langa = new conf_file();
String test = langa.get_string();
und dann habe ich noch folgendne code,
void get_String(){
String x = "test";
return x;
}
und nun erhalte ich bei beiden programmen fehler beim kompilieren ;(
nst.java:53: incompatible types
found : void
required: java.lang.String
String testb = langa.get_string();
das die typen unverträglich sind ist mir klar, wie kann ich das problem lösen, das ich strings als rückgabewert habe?
thx cu SHB
Hi,
1. Groß- und Kleinschreibung beachten: Oben schreibst Du "get_string", unten "get_String". Java-Konvention wäre übrigens ohne Unterstrich "getString".
2. Die Methode muss "String" als Rückgabewert deklariert haben:
String get_String() {
String x = "test";
return x;
}
Deswegen auch die Fehlermeldung "void" ist nicht "String", wie Du ja richtig verstanden hast.
+++ kinnla
Matflasch
05-11-2004, 11:09
Du gibts einen String zwar zurueck, deklarierst die Methode aber als void,
Du musst die Methode dann mit String deklarieren
public String get_String(){
String x = "test";
return x;
}
Dann sollte es gehen.
gut an die javac konvention werde ich mich dann halten, das mit der groß und kleinschreibung war ein versehen, habs nur abgetippt und nicht kopiert
public String get_string(){
String xxx = "test";
retrun "xxx";
}
und daraufhin erhalte ich beim kompilieren leider diesenfehler
shb:/home/shb/java/nst# javac conf_file.java
conf_file.java:36: not a statement
retrun "xxx";
^
conf_file.java:36: ';' expected
retrun "xxx";
^
2 errors
leider komme ich damit nicht klar ;(
thx cu SHB
dark_red
05-11-2004, 11:29
Naja... das ist aber wohl etwa trivial. Lies doch die Fehlermeldung.
retrun "xxx";
Solche Dinge solltest du sofort überprüfen. Das Problem ist ein kleiner Fehler, welcher beim schnellen Tippen mit der Tastatur passiert. Das Schlüsselwort "return" hast du als "retrun" angegeben. Damit kommt der Compilier nicht klar :)
Außerdem musst Du dann return xxx schreiben, wenn Du den String mit dem Namen xxx zurück geben willst, nicht "xxx", das wäre ein neuer String mit dem Inhalt xxx
fs111
ich danke euch jetzt klappt es wie ich mir das vorstelle ;)
cuSHB
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.