Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Fragen über Fragen :-) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Fragen über Fragen :-)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Java_Beginner
unregistriert
Fragen über Fragen :-) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hi :-)

In den letzten Tagen haben sich wieder ein paar Fragen ergeben, wo ich bitte Eure Hilfe benötige.

1) Wenn ich Song aSong = new Song () schreibe, stimmt es dann, dass ich eine Instanz der Klasse Song erzeuge?

2) Wie funktioniert genau das mit return? Angenommen ich habe:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:

public int addition (int zahl1, int zahl2)
{
     int ergebnis = zahl1+zahl2;
    System.out.println(ergebnis); 
    return ergebnis; 
}


Wird hier dann jede Anweisung zurückgegeben, die vor return steht? Also auch das System.out.println()?


3) Bei Methoden gibt es ja Rückgabewerte - Entweder void oder ein primitiver Datentyp: Aber für was habe ich diese Rückgabewerte? Theoretisch kann ich alles mit void anlegen und dann in der main-Aufrufen? Warum soll ich ein Integer verwenden und dann mit return arbeiten, wo ich Gefahr laufe, einen weiteren Fehler einzubauen?


4) toString-Methode: Wie kann ich ein Integer und eine Methode hier einbauen? String.format habe ich gelesen, soll aber anscheinend noch eine andere Möglichkeit geben. Außerdem bekomme ich mit String.format das mit den Methoden nicht hin.

Und warum wird bei toString() dann in der main-Funktion trotzdem noch die System.out.println() - Ausgabe benötigt?

code:
1:
2:
3:
4:
5:
6:
7:
8:

int zahl = 5; 

public String toString {) {
        String.format("%s",zahl);
}



Meine Ideen:
Viele Fragen :-)

Vielen Dank für Eure Antworten.
05.12.2015 12:22
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

1) Ja, sogar ein neues Objekt.

2) return gibt nur das zurück, was nach return steht. Folglich kannst du nur den Inhalt einer einzigen Variablen zurückgeben.
Willst du mehrere Rückgabewerte haben, geht das in Java entweder durch ein Array(bzw. List oder ähnliches), oder indem du eine eigene Klasse für den Rückgabetypen erstellst.
Die Ausgabe mit println erfolg in der Funktion, der aufrufende Code kriegt davon nichts mit.

3) es kann ja sein, dass du das Ergebnis noch verwenden willst. Deine Funktionen können komplexer werden und über mehrere Bildschirme gehen. Dann ist es an der Zeit, Teile in Unterfunktionen auszulagern. Trotzdem brauchst du aber das Ergebnis, um weiterrechnen zu können. Auch Rekursion wäre ohne Rückgabetyp eine ziemlich traurige Angelegenheit.

4) da fehlt auch ein return. Und die Funktionsklammern müssen rund sein.
code:
1:
2:
3:
4:
public String toString() {
	// return String.format("%s", zahl);
	return String.valueOf(zahl);
}

Für Ganzzahlen könntest du als Formatter auch "%d" statt "%s" nehmen.

Und wie bei Frage 3): vielleicht willst du ja was anderes damit machen: in eine Datei schreiben, auf ein Bild malen, .... toString() wird dann interessant, wenn es um Vererbung und Polymorphie geht.

__________________
Syntax Highlighting fürs Board (Link)
05.12.2015 13:24 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Java_Beginner
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Vielen Dank für die Antworten :-)
07.12.2015 04:29
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Fragen über Fragen :-)