Schleifenübungen

Status
Nicht offen für weitere Antworten.

horn27

Mitglied
Hallo Leute,

ich bin gerade dabei Schleifen zu üben, habe auch schon 4 gelöst, wollte fragen ob das so richtig ist, die 5. Aufgabe verstehe ich nicht :)...

Aufgaben 1 - 4:

Folge der natürl. Zahlen von 1 bis 10
" " 10 1
ersten 10 Zahlen der 4er Reihe
7er Reihe zwischen 1 und 100


5) alle natürlichen Zahlen von 1 bis n zusammenzählt und in "summe" speichert

bisherige Lösung:

import java.awt.*;
import java.applet.*;

public class PPG7 extends Applet {

public void init() {
}

public void paint(Graphics g) {



int x = 10, x2 = 10, x3 = 10, x4 = 10, counter = 1, counter2 = 10, counter3 = 0, counter4 = 0;

while (counter<=10) {

g.drawString(""+counter,x,20);
x = x + 20;
counter++;

}

while (counter2>0) {

g.drawString(""+counter2,x2,40);
x2 = x2 + 20;
counter2--;
}

while (counter3<=40) {

g.drawString(""+counter3,x3,60);
x3 = x3 + 20;
counter3 = counter3 + 1 * 4;
}

while (counter4<=100) {

g.drawString(""+counter4,x4,80);
x4 = x4 + 20;
counter4 = counter4 + 1 * 7;
}
}
}
 

Fu3L

Top Contributor
Ist nicht eher damit gemeint, wenn n zum Beispiel 5 ist:

1+2+3+4+5 = 15

?

Das wäre wesentlich einfacher als das was du da versucht hast.

(Kleiner Tipp: Benutze bitte die code-funktion hier im Forum und Einrückung, dann kann mans besser lesen)

Edit: Ich merk grad, dass die 4 Schleifen zu den anderen Aufgaben gehören. Ich dacht schon^^
 

horn27

Mitglied
ja sind die ersten 4 Aufgaben soweit ok? Ich denke auch, dass es so gemeint ist, abe wie programmiere ich das in eine Schleife? :)
 

Fu3L

Top Contributor
Kennst du die for-Schleife? Damit würd ichs machen. Eine Schleifenvariable, bei dir würd sie wohl counter heißen, deklarieren, n in die Bedingung packen und counter immer um eins erhöhen (etwas schwammig formuliert, damit du auch noch etwas drüber nachdenken kannst :wink: ). Is natürlich genauso mit ner while-Schleife zu lösen...

Edit: Ob die vorherigen Aufgaben so ok sind, hägt von der Ausgabe ab. So lange das richtige rauskommt ist ein Programm erstmal nicht falsch, vllt nicht schön, aber nicht falsch :wink:
 

horn27

Mitglied
Fu3L hat gesagt.:
Kennst du die for-Schleife? Damit würd ichs machen. Eine Schleifenvariable, bei dir würd sie wohl counter heißen, deklarieren, n in die Bedingung packen und counter immer um eins erhöhen (etwas schwammig formuliert, damit du auch noch etwas drüber nachdenken kannst :wink: ). Is natürlich genauso mit ner while-Schleife zu lösen...

ich kenne die for-Schleife, aber ich weiß nicht wie ich das machen muss:

int counter
for (counter = 0; n reinpacken?; counter++) {
g.drawString ?
 

Fu3L

Top Contributor
Natürlich muss n irgendwie mit counter abgeglichen werden und du brauchst noch eine weitere Variable in der du immer wieder das Zwischenergebnis speicherst und die du dann am Ende ausgeben kannst.

Ansonsten: Warum machst du das mit Applet und versuchst es nicht erstmal ganz leicht mit einer Ausgabe auf der Konsole? Dürfte wesentlich leichter sein...
 

Der Müde Joe

Top Contributor
>aber ich weiß nicht wie ich das machen muss

so:

Code:
//zahlen von 1 - 10
for ( int i = 1 ; i < 11 ; i++ ) {
System.out.println(i);
}
//7er Reihe
for(int i = 0 ; i < 100 ; i += 7 ){
System.out.println(i);
}

EDIT:
und zu 5:

Code:
int result = 0;
//summe von 1 - 15 (ohne 15)
for ( int i = 0 ; i < 15 ; i++ ) {
result += i;
}
System.out.println(result)
 

horn27

Mitglied
Der Müde Joe hat gesagt.:
>aber ich weiß nicht wie ich das machen muss

so:

Code:
//zahlen von 1 - 10
for ( int i = 1 ; i < 11 ; i++ ) {
System.out.println(i);
}
//7er Reihe
for(int i = 0 ; i < 100 ; i += 7 ){
System.out.println(i);
}


@MüderJoe

die Aufgaben 1-4 habe ich schon gelöst, ich brauche Hilfe bei 5) !

@Fu3L

weil wir das mit Applet üben sollen....ich verstehe es nicht, helft mir und erklärt es mir BITTE !

:)
 

horn27

Mitglied
und zu 5:

Code:
int result = 0;
//summe von 1 - 15 (ohne 15)
for ( int i = 0 ; i < 15 ; i++ ) {
result += i;
}
System.out.println(result)
[/quote]


dein Ergebnis verstehe ich nicht, erklär es mal bitte...
 

Der Müde Joe

Top Contributor
mach dir eine Methode sum..ca

Code:
public static int sumUp(int x) {
int result = 0;
for ( int i = 0 ; i <= x ; i++ ) {
result += i;
}
return result;
}

wobei negativ und Integer.MAX nicht berücksichtigt werden.

dann rechnest du:
Code:
int summe = sumUp(15); //1 - 15
g.drawString(......);

so in etwa

EDIT:
>dein Ergebnis verstehe ich nicht, erklär es mal bitte...

int result = 0; init resultat mit 0

dann

for( .... ) zähle von i=0 bis 15 (ohne) hoch
und mache
result += i was gleich
reuslt = result + i;
ist, also nimm das resultat und adde denn nächsten wert .. 1 + 2 + 3 +...

fertig
 
Status
Nicht offen für weitere Antworten.

Oben