Die letzten 10 Beiträge |
Karlito |
Bitte, gerne!
VG,
Karlito |
JKU11 |
Ok da muss ich mich noch einarbeiten. Vielen Dank für die Hilfe
|
Karlito |
Nicht dass ich wüsste. Schau dir mal folgenden Link an:
http://www.java-forum.org/java-basics-an...k-ausgeben.html
Edit: Dass deine Zahlen unterschiedlich breit sind, wird sicher ein Problem. Vlt ist es günstig bis zur Mitte rechtsbündig auszugeben und danach linksbündig...
VG,
Karlito |
JKU11 |
Jetzt ist mir einiges klar geworden
Dachte zuerst, dass das print_zeile(c) eine Augabemethode wie system.out.print ist.
Wegen den einrückungen soll ich ja printf verwenden.
Also:
......2
....2 4 2
2 4 8 4 2
Gibts da ne bestimmte printf Funktion ? |
Karlito |
Das c aus der Schleife wird dem n in der Funktion zugewiesen. Das passiert bei dem Funktionsaufruf in Zeile 30.
Stell es dir vor wie in der Mathematik mit Funktionen. Wenn du sagst
Hast du definiert, was die Funktion macht. Sie gibt das Quadrat zurück.
Diese Defintion findest du in Zeile 3 bis 22.
In Zeile 30 passiert das, was passieren würde, wenn man, wie in der Mathematik, die Funktion "aufruft". Angenommen ich möchte wissen, was das quadrat von 5 ist. Dann rufe ich mit auf und erhalte 25.
Würde ich nun wollen, dass alle quadrate von 1-5 ausgegeben werden, machte ich das in einer Schleife und nehme eine Variable zur Hilfe, welche ich immer erhöhe. Also:
code: |
1:
2:
3:
4:
5:
|
for(int c = 1; c<=5;c++){
f(c);
}
|
|
So gibt immer das Quadrat von c zurück. Bemerkenswert ist hier, dass sich der Name der Variable von Deklaration und Aufruf unterscheiden. Ich habe definiert, dass und frage nach , wobei c einen bestimmten Wert hat. Genauso funktioniert das mit der print_zeile. Der Übergebene Parameter beeinflusst die Ausgabe.
VG,
Karlito |
JKU11 |
In der main wird im ersten Durchlauf c mit 1 initialisiert, im zweiten Durchlauf mit 2 usw. Wie weiß dann die Funktion print_Zeile das sie nur 2 und nicht 2 4 8 16 8 4 2 ausgeben soll?
Beste Güße |
Karlito |
Na jede Zeile wird durch die Funktion print_zeile erzeugt.
print_zeile(1) erzeugt 2
print_zeile(2) erzeugt 242
print_zeile(3) erzeugt 24842
usw.
Die Aufrufe mit den aufsteigenden Werten werden in der Schleife in der main erzeugt.
Passe doch mal den Schleifenkopf der for-Schleife an und schau was passiert...
VG,
Karlito |
JKU11 |
Würd gern genau wissen wie die halbe Pyramide im Ouput entsteht:
2
242
24842 ..
Mir is schon klar mit dem Code, den du mir gegeben hast. Das Einzige was mir nicht klar ist, mit welcher Funktion erreicht wird das um in jeder Zeile 2 Werte dazukommen.
Hoffe ich konnte es dir verständlich erklären
|
Karlito |
Ich verstehe leider nicht, was du zu erreichen versuchst und was deine Frage ist. |
JKU11 |
Vielen Dank, sehr verständlich erklärt!
Habe jetzt beide Funktionen separat ausgeführt.
Bei public static void print_zeile als main funktion werden ja nur die Zahlen in einer Zeile ausgeführt: 2 4 8 4 2 zb.
Bei
public class Zeile {
public static void main(String[] args) {
int n;
System.out.println("Input: ");
n=Input.readInt();
for(int c = 1; c<=n; c++){
System.out.print("1");
werden alle 1 in der Zeile ausgegeben.
Wie kommt man dann zu dem "halben Berg" als Output? |
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen. |