Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
bin auch ziemlicher Anfaenger mit Java. Hier habe ich mal ein ganz ganz einfaches Beispiel. Was ist da nicht OK. Alle Werte sind ja vom Typ int . ?????:L ...Danke im Vorraus
Java:
public class Uebung {
static int test (int a) { //This method must return a result of type int
if (a == 1)
return 1;
else if (a == 2)
return 2;
}
public static void main(String arguments[]) {
System.out.println(test(1));
}
}
du braucht noch ein return falls a nicht 1 oder 2 ist, könnte so aussehen:
Java:
public class Uebung
{
static int test (int a)
{
if (a == 1) return 1;
else if (a == 2) return 2;
return 0;
}
public static void main(String arguments[]) {
System.out.println(test(1));
}
}
An deiner Stelle, würde ich die [c]{}[/c]-klammern verwenden. Das obenstehende wird zwar (abgesehen von dem fehlenden return-Statement) funktionieren, ist aber fehleranfälliger. Also besser:
public class Uebung
{
private static int ausgabe = 0;
public static void test(final int a) {
if (a == 1) {
ausgabe = 1;
} else if (a == 2) {
ausgabe = 2;
} else {
ausgabe = 0;
// Oder ausgabe = a;
}
}
public static void main(final String arguments[]) {
test(1);
System.out.println(ausgabe);
}
}
Aber wie gesagt, wird wohl nicht sinn der Übung gewesen sein.....
Die bisherigen Tipps waren sehr gut und da gibt es kaum noch etwas zu ergänzen. In manchen Fällen macht es Sinn jedoch nur einen return in einer Methode zu definieren. Es macht bei unübersichtlichen Methoden aus meiner Sicht die Fehlersuche einfacher.
Hier einmal das Beispiel:
Java:
static int test (int a)
{
int rueckgabe=-1;
if (a == 1) {
rueckgabe = 1;
} else if (a == 2) {
rueckgabe = 2;
}
return rueckgabe;
}
Aus meiner Sicht könnte die Methode also auch in dieser Form Sinn machen, aber dies ist, wie vieles, eine Stilfrage.
public class Sample {
private int result=-1;
public void test(int a) {
if(a==1) {
result=1;
} else if(a==2) {
result=2;
}
}
public int getResult() {
return result;
}
}
public class Sample {
private int result=-1;
public void test(int a) {
if(a==1) {
result=1;
} else if(a==2) {
result=2;
}
}
public int getResult() {
return result;
}
}
Ja, es kann sein, dass ich hier irgendetwas falsch verstanden habe, aber ein return statement wird immer notwendig, wenn man Variablen außerhalb der Klasse abfragen möchte. In diesem Vorschlag wird es nur in getResult gekapselt.
Das standardisierte Vorgehen ist, dass man eine private Variable anlegt und diese mit Hilfe einer set/get - Methode außerhalb der Klasse sichtbar macht.
@Gossi: Als ich die antwort geschrieben hatte, war dein Post noch nicht da ;-). Ich finde diese Variante in dem Falle nicht gut. Wenn es ein einfaches Ergebnis ist, kann man das auch gleich zurückgeben.
@Gossi: Als ich die antwort geschrieben hatte, war dein Post noch nicht da ;-). Ich finde diese Variante in dem Falle nicht gut. Wenn es ein einfaches Ergebnis ist, kann man das auch gleich zurückgeben.
Ja, es kann sein, dass ich hier irgendetwas falsch verstanden habe, aber ein return statement wird immer notwendig, wenn man Variablen außerhalb der Klasse abfragen möchte. In diesem Vorschlag wird es nur in getResult gekapselt.
Das standardisierte Vorgehen ist, dass man eine private Variable anlegt und diese mit Hilfe einer set/get - Methode außerhalb der Klasse sichtbar macht.
@Gossi: Als ich die antwort geschrieben hatte, war dein Post noch nicht da ;-). Ich finde diese Variante in dem Falle nicht gut. Wenn es ein einfaches Ergebnis ist, kann man das auch gleich zurückgeben.
Ich habe ja auch nie geschrieben, das diese Methode gut/richtig wäre, ich wollte lediglich darauf hinweisen, das es sie gibt, in diesem Beispiel wäre ne globale Vaiable dafür auch völlig übertrieben.