Möglichkeiten von Pizza Belägen

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo !
folgendes Problem:

Code:
public class Pizza {

    public static void main(String[] args) {
        System.out.println("Eine Pizza mit: Kaese, Tomaten, " + args[0] + " und " + args[1]);
        System.out.println("Eine Pizza mit: Kaese, Tomaten, " + args[0] + " und " + args[2]);
        System.out.println("Eine Pizza mit: Kaese, Tomaten, " + args[0] + " und " + args[3]);
        System.out.println("Eine Pizza mit: Kaese, Tomaten, " + args[1] + " und " + args[2]);
        System.out.println("Eine Pizza mit: Kaese, Tomaten, " + args[1] + " und " + args[3]);
        System.out.println("Eine Pizza mit: Kaese, Tomaten, " + args[3] + " und " + args[2]);
    }
}

das war unser Test Programm welches genau 4 Argumente (Beläge) erwartet und jetzt soll das ganze "dynamisch" erfolgen sprich: Die Berechnung soll abhängig von der Eingabe sein.
Allerdings soll die Pizza IMMER mit 2 Belägen belegt sein.

Mein Problem also:

- Wie komme ich da Sinnvoll an die Lösung um z.B EINGABE [a,b,c] zu einer dynamischen Berechnung im Sinne von

Pizza mit ab, ac, bc, ???

Mein Ansatz:

Code:
public class Multi {

    public static void main(String[] args) {
                  
         for (int i = 1; i < 11; i++) {       // ergibt die Zeilen bzw. Zeile
             for (int j = 1; j < 11; j++) {
             System.out.print("\t" + i * j);  // gibt aus in nacheinanderfolgenden Spalten
             }    
             System.out.println();
         }    

    }
}

Das irgendwie über so eine Struktur laufen zulassen ... Auch schlagwörter wie : permuation und varianten usw ... führen zu nix
[/quote]
 
bzw. hatte auch gedacht den Inhalt in ein Array zu kopieren , das vergleichen und eventuelle doppelte Inhalte löschen weil AB & BA z.B soll auch nicht vorkommen
 
Gast hat gesagt.:
bzw. hatte auch gedacht den Inhalt in ein Array zu kopieren , das vergleichen und eventuelle doppelte Inhalte löschen weil AB & BA z.B soll auch nicht vorkommen

und wo ist das Problem?
 
*g*

genau das ist das Problem wie ich das mache
die Theorie geht aber habe nicht ganz die Ahnung wie ich das umsetze ...
 
die Doppelschleife, die du oben erwähnt hast, ist doch recht guter erster Versuch,
wende diese doch einfach mal auf das Array der Parameter an

bzw. zum Testen ist es vielleicht einfacher, sind ein Test-Array
String[] test = new String[] {"A","B","C","D"};
anzulegen und damit zu arbeiten,

was hat das mit Theorie zu tun? einfach los und fertig,

-------

Doppelte kommen dann noch vor, aber darum kann man sich ja kümmern wenn erstmal der erste Punkt bearbeitet ist,
nicht alles gleichzeitig
 
SlaterB hat gesagt.:
Doppelte kommen dann noch vor, aber darum kann man sich ja kümmern wenn erstmal der erste Punkt bearbeitet ist,
nicht alles gleichzeitig

Ich glaube Gast's Hinweis auf doppelte bezog sich auf seine Schleife
nicht auf die Übergabeparameter:

Code:
for (int i = 1; i < 11; i++) {       // ergibt die Zeilen bzw. Zeile 
             for (int j = 1; j < 11; j++) { 
             System.out.print("\t" + i * j);  // gibt aus in nacheinanderfolgenden Spalten 
             }    
             System.out.println(); 
         }

Erzeugt logischerweise Doppelte

Richtig wäre:

Code:
for (int i = 0; i < args.length; i++) {       // ergibt die Zeilen bzw. Zeile 
             for (int j = i+1; j < args.length; j++) { 
             System.out.print("\t" + i * j);  // gibt aus in nacheinanderfolgenden Spalten 
             }    
             System.out.println(); 
         }
 
das zu erkennen war bei mir strategisch für den Geist des Gastes im weiteren Verlauf der Aufgabenbearbeitung gedacht,

man kann es natürlich auch einfach verraten 😉
 
SlaterB hat gesagt.:
das zu erkennen war bei mir strategisch für den Geist des Gastes im weiteren Verlauf der Aufgabenbearbeitung gedacht

Dann habe ich dir ja in deine Therapie/Lernpsyschologie hineingepfuscht :shock:


Bitte vielmals um Verzeihung! :roll:
 
Code:
for (int i = 0; i < args.length; i++) {       // ergibt die Zeilen bzw. Zeile
             for (int j = i+1; j < args.length; j++) {
             System.out.print("\t" + args[i] + args[j]);  // gibt aus in nacheinanderfolgenden Spalten
             }   
             System.out.println();

ergibt tatsächlich

AB AC AD BC BD CD

bei Eingabe von 4 Elementen.

:applaus:

"nur" dieses kleine i + 1 fehlte ....
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben