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

Informatiker Board » Themengebiete » Praktische Informatik » Wheinachtsbaum » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
Karlito

Bitte, gerne!

VG,

Karlito
JKU11

Ok da muss ich mich noch einarbeiten. Vielen Dank für die Hilfe smile
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 smile

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
[latex]<br />
f(x) = x^2<br />
[/latex]

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 [latex]f(x)[/latex] mit [latex]x:=5[/latex] 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 [latex]f(c)[/latex] 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 [latex]f(x)=x^2[/latex] und frage nach [latex]f(c)[/latex], 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 großes Grinsen
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.