Schleifen

Sophie

Bekanntes Mitglied
Guten Abend Zusammen

Bin kurz vorm Ziel, aber eine Kleinigkeit bekomme ich einfach nicht hin. Ich möchte, dass das Muster in der gleichen Spalte abschliesst.
(Das Leerzeichen beim ersten Smiley soll dort auch sein)
Hat vielleicht jemand eine Idee, wie ich das noch einbauen kann?

Java:
 private void muster(){{
       	for (int a=1; a<=6; a++) {             

       	for (int c=1; c<=10; c++) {    
     
       		
       		
       	   if(a % 2 == 1)
       		 
       		   
               System.out.print(":-) ");
       	   
       	   
           else
               System.out.print("(-:");
       }
       System.out.println();
       			
            }
    
         }
     }
}
 

Hindi93

Aktives Mitglied
Was genau funktinoiert denn nicht? Und was genau willst du da machen?
Eine Zeile die nur die Smilis ausgibt und dann einen Zeilenumsprung macht?
 

Sophie

Bekanntes Mitglied
Entschuldigung ...

Bei mir sieht das so aus:
[noparse]:) :) :) :) :)
(-:(-:(-:(-:(-:

ich möchte aber, dass es genau abschliesst

:) :) :) :)
(-:(-:(-:(-:(-:[/noparse]

(Das Muster ist in jeder Zeile länger und geht noch 4 Zeilen weiter, bekomme aber eine Fehlermeldung, dass ich zuviele Grafiken verwende)
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
nach welchen Kriterien soll das ganze denn funktionieren?
das einfachste wäre ja wenn du dir die beiden möglichen Zeilen manuell komplett als String ablegst
"a a a a a a"
und die beiden dann abwechselnd ausgibst,

wenn es unbedingt mit der Schleife sein muss, dann vielleicht bei a ungerade die c-Schleife um einen Wert kürzer oder andersrum?

oder komplett berechnet:
in einer Schleife immer noch die beiden denkbaren Zeilen zusammenstellen, Länge vergleichen und eine der beiden kürzen (substring)
 

Sophie

Bekanntes Mitglied
Danke für Eure antworten

Leerzeichen weglassen oder manuell als String ablegen ist nicht :)
Bin ja noch Anfänger und soll was dabei lernen...

Hab das jetzt erstmal so gelöst:

Java:
 private void muster(){
                                   {
	        	for (int a=1; a<=5; a++) {            

	        	for (int c=1; c<=13; c++) {            
	        		
	         		System.out.print(":-) ");}
	         	        System.out.println();
	         		
                         for (int b=1; b<=17; b++) {    
	         		System.out.print("(-:");}
	         		System.out.println();
	                }
	          }

Das Muster wiederholt sich ja

Spaltenanzahl Muster1 und (Spaltenanzahl Muster2 +1Spalte)
Muster1 und (Muster2 +2)
Muster1 und (Muster2 +3)
Muster1 und (Muster2 +4)

Und dabei schliesst es nur gleichmässig ab wenn man für das Muster 1
4 Spalten
dann 7
dann 10
dann 13

festlegt usw.

Ganz schön kompliziert finde ich, für ne Anfängeraufgabe...

Falls jemand Zeit und Muse hat mir zu erklären wie ich das in meinen Quellcode einbauen kann wäre super.
 

Haave

Top Contributor
Die Aufgabe mit Strings zu lösen halte ich eigentlich für recht komfortabel: Auf diese Weise kannst du ":)" immer wieder einem String hinzufügen und anschließend abprüfen, wie lang er geworden ist. Anhand dessen kannst du dann berechnen, ob die Reihe von "(-:", die darunter ausgegeben werden soll, mit der oberen Reihe abschließen wird (nämlich genau dann, wenn der Rest 0 ist).

Habe es mal exemplarisch mit Strings umgesetzt; du brauchst nur noch die Variable x in Zeile 14 verändern, neu kompilieren und ausführen und siehst dann das Ergebnis.

Java:
public class Muster {
	
	public static void main(String[] args) {
		Muster smilieMuster = new Muster();
		
		String ersteZeile = smilieMuster.musterErstellen1();
		System.out.println();
		smilieMuster.musterErstellen2(ersteZeile);
		System.out.println();
	}
	
	String smilieRight = ":-)";
	String smilieLeft = "(-:";
	int x = 13;
	/*Soll das Muster abschliessen, muss x den Wert 1 (4, 7, 10, 13, ...) annehmen,
	 *das entspricht der Zeichenlaenge von ":-)", naemlich 3.
	 *Bei x == 1 werden eben bloss jeweils ein Smilie untereinander ausgegeben.
	 */
	
	String musterErstellen1() {
		String ersteZeile = "";
		for(int i = 0; i < x; i++) {
			ersteZeile += smilieRight;
			System.out.print(smilieRight);
			if(i < x-1) {
				ersteZeile += " ";
				System.out.print(" ");
			}
		}
		return ersteZeile;
	}
	
	void musterErstellen2(String y) {
		int r = y.length() % 3; //3 == Laenge von ":-)"
		int wertZweiteZeile = y.length()/3;
		if(r == 0) {
			while(wertZweiteZeile > 0) {
				System.out.print(smilieLeft);
				wertZweiteZeile--;
			}
		} else System.out.println("Das Muster wird nicht abschliessen.");
	}
}
 

Ark

Top Contributor
Ich habe das jetzt noch nicht so 100%ig geblickt, aber geht es vielleicht einfach nur darum, das kgV der beiden Stringlängen zu berechnen?

Ark
 

Sophie

Bekanntes Mitglied
Hallo Haave

Ja, das ist wahrscheinlich die beste Lösung. Bin aber leider noch nicht soweit zu verstehen, wie dieser Quellcode tatsächlich funktioniert.
Ich werde jetzt einfach nochmal den Sonntag nutzen, vielleicht fällt mir ja noch etwas (für mich einfacheres) ein.

Vielen Dank!
 

Haave

Top Contributor
Bevor ich den gesamten Code erläutere und dabei vielleicht versehentlich gerade das vernachlässige, was dich interessieren würde: Hast du eine konkrete Frage zu einem Codeteil?

Der Code ist zugegebenermaßen auch nicht unbedingt der schönste; z. B. wäre es wohl besser, die gesamte Berechnung als Block am Anfang ausführen zu lassen und erst am Ende die beiden Zeilen ausgeben zu lassen (so denn das Ergebnis entsprechend ist). Momentan ist das eher so eine halbe Sache… :oops:
 

Sophie

Bekanntes Mitglied
Oh sorry Haave,

hab unter den ganzen Abgabestress vergessen, dass ich hier noch ein Thema offen habe - aber - jetzt hab ich schon etwas mehr Übung und verstehe auch den Quellcode :)
Vielen Dank für Deine Hilfe!

Lieben Gruss
Sophie
 

mr_xxl

Mitglied
Gibt es ein Befehl, der die einmalige Ausführung der Schleife zu Folge hat. Es geht z. B. um die Sommer- und Winterzeit. Ich habe die Stunden zählt und im März und Oktober findet die Zeitverschiebung statt. Im März gibt es keine Probleme, aber im Oktober stellen wir die Uhr von 3 auf 2 und in der Schleife springt immer von 3 auf 2, erhöht auf 3 und wieder springt auf 2 und so weiter und sofort. Hat vielleicht jemand Tipp, um das Problem umzugehen?!
 
S

SlaterB

Gast
außerhalb der Schleife eine boolean-Variable, die z.B. am Ende jeder Schleife auf true gesetzt wird, was bedeutet 'Rücksprung erlaubt',
nur bei einem Rücksprung wird sie auf false gesetzt, damit in der nächsten Runde kein Rücksprung erfolgt,
danach aber wieder schon möglich

ganz sauber wäre, in der Haupzählung überhaupt keine Sprünge einzuführen,
die Zeit an sich im Universum, in Java etwa representiert durch bei System.currentTimeMillies() bzw. der Systemuhr, macht nämlich bei Sommerzeit keine Sprünge,

nur darüber gelagert in einer höheren interpretierten Ebene der Zeit für eine bestimmte Zeitzone gibt es solche Besonderheiten

vielleicht kannst du deine Schleife auf die richtige Zeit einstellen und nur zum Teil auf die interpretierte Zeit beziehen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Fynx_HD Arrays übergeben, Mehrdimensionale Arrays Zeilenabtrennung in schleifen Java Basics - Anfänger-Themen 8
T schleifen Java Basics - Anfänger-Themen 3
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
S Erste Schritte While Schleifen Java Basics - Anfänger-Themen 11
M geschachtelte for-Schleifen - Einmaleins ausgeben Java Basics - Anfänger-Themen 3
Mikejr Schleifen Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Mit While Schleifen Programme schreiben Java Basics - Anfänger-Themen 4
K geschachtelte "for-Schleifen" Java Basics - Anfänger-Themen 3
Alen123 Potenzen in Schleifen Java Basics - Anfänger-Themen 26
Alen123 String wiederholen mit Schleifen Java Basics - Anfänger-Themen 1
A Schleifen und Boolsche Ausdrücke Java Basics - Anfänger-Themen 42
W Schleifen Java Basics - Anfänger-Themen 36
S Interaktive Abfrage, Hilfe mit Schleifen! Java Basics - Anfänger-Themen 6
Mojtaba1986 Hausaufgabe (Schleifen) Java Basics - Anfänger-Themen 33
A Schleifen Verzweigungen Java Basics - Anfänger-Themen 18
C Sind die while-Schleifen richtig in for-Schleifen ersetzt worden? Java Basics - Anfänger-Themen 8
D Schleifen Problem Java Basics - Anfänger-Themen 2
H Muster mit verschachtelten Schleifen kreieren. Java Basics - Anfänger-Themen 2
A Schleifen in Java Java Basics - Anfänger-Themen 4
A Schleifen, Hilfe! Java Basics - Anfänger-Themen 6
C Schleifen Durchlauf Java Basics - Anfänger-Themen 7
M While-Schleifen-Fehler Java Basics - Anfänger-Themen 4
J Schleifen Wiederholendes Zeichenmuster Java Basics - Anfänger-Themen 4
K For-Schleifen Ablauf Java Basics - Anfänger-Themen 5
L Anzahl der Aufrufe von Schleifen bestimmen Java Basics - Anfänger-Themen 1
S Hilfe bei Java Aufgabe (Schleifen) Java Basics - Anfänger-Themen 25
B Verschachtelte For Schleifen Java Basics - Anfänger-Themen 8
G Input/Output Schleifen Durchlauf Java Basics - Anfänger-Themen 5
A Erste Schritte Schleifen Java Basics - Anfänger-Themen 5
J Muster und Schleifen Java Basics - Anfänger-Themen 33
H ERGÄNZUNGSFRAGE: Klammersetzung bei if-else Anweisungen und Schleifen Java Basics - Anfänger-Themen 2
scratchy1 Argumente mit verschiedenen Schleifen ausgeben Java Basics - Anfänger-Themen 3
C Schleifen Java Basics - Anfänger-Themen 12
E geschachtelte for-schleifen Java Basics - Anfänger-Themen 6
L Übungsaufgabe zu Schleifen Java Basics - Anfänger-Themen 7
W Erste Schritte Rechnen mit Schleifen? Denkanstoß gesucht Java Basics - Anfänger-Themen 15
A Erste Schritte for-Schleifen vereinfachen Java Basics - Anfänger-Themen 5
S Immer das selbe mit den Schleifen Java Basics - Anfänger-Themen 24
kokojamboo92 Schleifen und Arrays Java Basics - Anfänger-Themen 7
N Problem mit Schleifen Java Basics - Anfänger-Themen 20
O Array, geschachtelte For-Schleifen Java Basics - Anfänger-Themen 34
S While-Schleifen Ausgabe als String? Java Basics - Anfänger-Themen 1
R Threads Pause zwischen zwei Schleifen Java Basics - Anfänger-Themen 1
D verschachtelte Schleifen Java Basics - Anfänger-Themen 6
H Schleifen (anfänger) Java Basics - Anfänger-Themen 13
C Variablen in Schleifen außerhalb verwenden Java Basics - Anfänger-Themen 2
L Schachbrettnummerierung mit Schleifen.. Java Basics - Anfänger-Themen 3
H Schleifen Java Basics - Anfänger-Themen 8
L Zahlentripel und for-Schleifen Java Basics - Anfänger-Themen 2
T Spezielle Aufgabe zu Schleifen Java Basics - Anfänger-Themen 3
T Erste Schritte Schleifen-Stop Java Basics - Anfänger-Themen 14
kilopack15 Rekursion und Schleifen Java Basics - Anfänger-Themen 27
I Mehre While-Schleifen hintereinander Java Basics - Anfänger-Themen 13
P Terminieren diese Schleifen Java Basics - Anfänger-Themen 6
L Was heißt terminieren bei Schleifen? Java Basics - Anfänger-Themen 3
I Brauche Hilfe bei Schleifen Java Basics - Anfänger-Themen 18
C Erste Schritte While-Schleifen-Problem Java Basics - Anfänger-Themen 3
W Schleifen bei Greenfoot Java Basics - Anfänger-Themen 4
B Operatoren Stopp von Schleifen Java Basics - Anfänger-Themen 9
K Loop ohne Schleifen Java Basics - Anfänger-Themen 2
V Rechenzeichen bei Termen - Darstellung bei Schleifen Java Basics - Anfänger-Themen 7
E Muster auf der Konsole ausgeben lassen (Schleifen) Java Basics - Anfänger-Themen 7
C Erste Schritte Probleme bei Aufgaben zu Schleifen Java Basics - Anfänger-Themen 11
F OOP Schleifen und Probleme mit Setter und Getter Java Basics - Anfänger-Themen 1
L Blöcke bei verschachtelten Schleifen Java Basics - Anfänger-Themen 3
L Kurze Frage zu verschachtelten Schleifen Java Basics - Anfänger-Themen 3
E Erste Schritte Sternchenpyramide mit For-Schleifen erstellen Java Basics - Anfänger-Themen 9
H Best Practice Wie mit break verschachtelte Schleifen komplett verlassen? Java Basics - Anfänger-Themen 2
arti28 Erste Schritte For-Schleifen und While-Schleifen, String als Muster ausgeben. Java Basics - Anfänger-Themen 3
T [Schleifen] Schleifenproblem Java Basics - Anfänger-Themen 4
F Verschachtelte Schleifen Java Basics - Anfänger-Themen 4
J Hilfe verschachtelte Schleifen Java Basics - Anfänger-Themen 5
O Geschachtelte For-Schleifen Java Basics - Anfänger-Themen 1
D Zeichnen, Schleifen Java Basics - Anfänger-Themen 7
S Zeichnen , Schleifen Java Basics - Anfänger-Themen 4
L Schleifen und Array, nur letzte Eingabe wird ausgegeben Java Basics - Anfänger-Themen 3
Z Frage zu for-Schleifen Java Basics - Anfänger-Themen 5
M Wie kann ich eine Ausgabe vervielfachen? (Schleifen) Java Basics - Anfänger-Themen 4
Z Schleifen Beispiel: Fakultät Java Basics - Anfänger-Themen 26
T Erneute Frage zu Schleifen Java Basics - Anfänger-Themen 4
V Schleifen die nicht voneinander abhängen! (für CAN-BUS) Java Basics - Anfänger-Themen 10
T Anfängerfrage zu Schleifen und Arrays Java Basics - Anfänger-Themen 5
S for-Schleifen Problem Java Basics - Anfänger-Themen 4
W Methoden While Schleifen Ergebnis im String speichern Java Basics - Anfänger-Themen 5
F Erste Schritte Hilfe bei Übung zu String equals() und Schleifen Java Basics - Anfänger-Themen 8
J Anzahl von for-Schleifen in Abhängigkeit von Zahleneingabe erzeugen Java Basics - Anfänger-Themen 1
X Methoden Logik-Problem mit Schleifen. Java Basics - Anfänger-Themen 7
J MouseListener für Schleifen-Objekte Java Basics - Anfänger-Themen 13
W Aufgabe mit Schleifen Java Basics - Anfänger-Themen 8
M Sektkelch mit Schleifen Java Basics - Anfänger-Themen 9
F Methoden JTable + 2 For-Schleifen Java Basics - Anfänger-Themen 4
I Listen, for - Schleifen Java Basics - Anfänger-Themen 8
N Schleifen Problem Java Basics - Anfänger-Themen 3
L Histogram mittels Schleifen und Arrays Java Basics - Anfänger-Themen 9
A Ausgabe von Schleifen nebeneinander? Java Basics - Anfänger-Themen 3
T durchlaufene while-Schleifen zählen Java Basics - Anfänger-Themen 3
L schleifen fehler Java Basics - Anfänger-Themen 12
X Array Ausgabe bei Verwendung von 2 Schleifen erklären Java Basics - Anfänger-Themen 8
K Schleifen und Exceptions Java Basics - Anfänger-Themen 8
J Schachbrett mit Hilfe von while-Schleifen Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben