Kann man eine void Methode in java ausgeben lassen oder geht das nur bei int/ double... methoden?
4 Antworten
"Ausgeben" im Sinne von Ausgaben Erzeugen mittels System.out.* geht auch mit void-Methoden. Diese können allerdings keinen Rückgabewert haben.
Nein. void ist, wie der name schon sagt, nichts.
Du kannst nicht nichts ausgeben.
Und es gibt weitaus mehr als int/double als returntype. (Du kannst jedes Objekt "ausgeben": private Foo bar() {}.)
Was genau meinst du damit.
Eine Methode mit void als Rückgabewert kann natürlich auch (im Methodenkörper) Konsolenausgaben erzeugen, gibt jedoch an den Aufrufer keinen Wert zurück.
Wie gesagt: in der Methode selbst kannst du natürlich Konsolenausgaben erzeugen, es wird nur nichts an den Aufrufer zurückgegeben
Meinst du also, es können nur vorgegebene sachen angezeigt werden und es kann nicht durch scan eingaben mit dem Nutzer interagieren?
Wie gebe ich zum Beispiel diesen code aus:
public void countdown(int x) {
if(x == 0) {
System.out.println("Go!");
} else {
System.out.println(x);
countdown(x-1);
}
}
Nein, damit meine ich, dass du die Methode natürlich aufrufen kannst und dort drin alles mögliche ausführen kannst - es wird nur an die Stelle, die die Methode aufruft, nichts zurückgegeben.
Diesen Code würdest du ausgeben, indem du einfach "countdown(x);" hinschreibst - x ist hierbei ein Integer, den du entweder direkt übergeben kannst - z.B. countdown(5) - oder in einer Variable übergeben kannst
Hierbei musst du jedoch aufpassen, bei negativen übergebenen Werten werden ganz viele Ausgaben kommen - wenn du -1 übergibst, werden es (gerundet) 4 Milliarden Ausgaben
ich meinte eben, ob es mit void möglich ist, zb countdown(5) zu verwenden, damit ein für den Menschen sichtbarer countdown von 5 zu 0 auf der konsole stattfindet und er nicht nur für den pc sichtbar ist
ok und wie gestalte ich das konkret? denn den code alleine ausgeführt erzeugt ein leeres konsolenfenster. muss ich da einen zusätzlichen code in der main methode verwenden, damit ich grafisch den countdown anzeigen kann auf der konsole?
Nein, sofern du in der Methode System.out.println(String) nutzt, wird der String auf der Konsole ausgegeben. Du musst die Methode natürlich auch irgendwo aufrufen
aber es sind doch auch zahlen vorhanden, ist string nicht für buchstaben
Ja, aber wenn du die Zahlen an syso übergibst, werden sie in der Ausgabe als String behandelt
Was meinst du mit "Methode ausgeben lassen"? Meinst du den Rückgabewert? Bei void Methoden gibt's keinen.
ich meine, dass auf der Konsole etwas angezeigt wird