Schleifen

superhagen

Grünschnabel
Hallo an alle.

Als erstes möchte ich mal loswerden, dass die Seite absolut genial ist.

So und nun hab ich auch mal eine kleine Frage an euch. Ich stehe vor folgenden Problem.
Ich weiß nicht wirklich wie ich es beschreiben soll.

gegeben sind 3 verschiedene int Werte welche die Anzahl sein soll. z.B. a=2,b=2,c=2,

und nun möchte ich auf der Console ein ergebniss haben, welches mir dann folgende Lösung ausgibt

a b c
1 1 1
1 1 2
1 2 1
1 2 2
2 1 1
2 1 2
2 2 1
2 2 2
 
Java:
public static void loop()
{
	int a = 1;
	int b = 1;
	int c = 1;
	
	while(true)
	{
		System.out.println(String.valueOf(a + " " + b + " " + c));

		c++;
			
		if(c > 2)
		{
			c = 1;
			b++;
		}
		if(b > 2)
		{
			b = 1;
			a++;
		}
		if(a > 2)
		{
			System.out.println("Ende");
			System.exit(0);
		}
	}
}

Ist zwar nicht so schön wegen dem while(true), aber da bin ich mir jetzt sicher dass es auf Anhieb funsen wird, und du kannst es ja umbauen.

Da das ganze aber jetzt so wie jedes x-beliebige Zahlensystem abläuft würde ich dir eher raten, dass du einfach eine Zahl in einer vor hochzählst (for(int i = 0; i < variable; i++), und die Zahl jedes mal im Binärwert umrechnest. In dem String musst du dann nur noch nullen durch einsen und einsen durch zweien ersetzen.

bzw. umgekehrt, da sonst ja nur zweien zurückbleiben.
 
Wieso so extrem kompliziert
Das sind 3 geschachtelte for-Schleifen:

Code:
package de.tutorials.procurve;

public class SchleifenBeispiel {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		int a = 2;
		int b = 2;
		int c = 2;
		
		System.out.println("a b c");
		for (int ia=1; ia<=a; ia++) {
			for (int ib=1; ib<=b; ib++) {
				for (int ic=1; ic<=c; ic++) {
					System.out.println(ia + " " + ib + " " + ic);
				}
			}
		}

	}

}
 

Neue Beiträge

Zurück