Argumenten Problem

ShuShu

Mitglied
Erstellen Sie im Folgenden ein Programm, das einen Teppich incl. Fransen auf der Konsole
malt. Verwenden Sie bei Bedarf statische Methoden, um Ihr Programm zu strukturieren und
Redundanzen zu vermeiden.
a) Legen Sie eine ausführbare Klasse namens Carpet.java an. Lesen Sie in deren
Hauptprogramm zwei ganze Zahlen für die Teppichgröße von der Konsole ein.
b) Implementieren Sie eine Methode printCarpet(), die als Parameter die Länge und die
Breite des Teppichs empfängt und den Teppich auf der Konsole ausgibt, repräsentiert
durch ein entsprechendes Rechteck, das aus dem Zeichen # gebildet wird.
Für einen Teppich mit den Größenangaben 4 und 8 soll das Ergebnis wie folgt aussehen:
####
####
####
####
####
####
####
####
Tipp:
Verwenden Sie zwei ineinander geschachtelte Schleifen. Die innere steuert die Ausgabe
einer Zeile, während die äußere Schleife dagegen die benötigte Anzahl an Zeilen
untereinander ausgibt.
c) Modifizieren Sie Ihr Programm so, dass der Teppich immer so ausgegeben wird, dass die
längere Richtung horizontal verläuft.
Für einen Teppich mit den Größenangaben 4 und 8 soll das Ergebnis wie folgt aussehen:
########
########
########
########
d) Erweitern Sie Ihren Teppich an den Schmalseiten um Fransen der Form --. Ein Teppich
mit gerader Anzahl von Zeilen hat in jeder Zeile eine Franse, ein Teppich mit ungerader
Anzahl von Zeilen nur jeweils in den ungeraden Zeilen.
Für einen Teppich mit den Größenangaben 4 und 8 soll das Ergebnis wie folgt aussehen:
--########--
--########--
--########--
--########--
Für einen Teppich mit den Größenangaben 3 und 8 soll das Ergebnis wie folgt aussehen:
--########--
########
--########--
e) Testen Sie Ihr Programm für Teppiche mit den Größenangaben 20 und 4 bzw. 17 und 50.


Hey ihr lieben:) Das ist eine Aufgabe die ich bearbeiten sollte;D habe ich jetzt auch gemacht:)

nur weiß ich grade nicht wie ich das mit diesen Größenangaben anstellen soll:S

Ich arbeite mit Eclipse und gebe bei den Argumenten zb 4 ein, aber dann kommt nur 4 x 4 teppich und z.B.: nicht 4 x8.

Hoffe ihr könnt mir helfen:)
 

ShuShu

Mitglied
public static void main(String[] args) {


/** Initialisierung der Variablen für Länge und Breite
* @param column des Teppichs.
* @param Spalte Zeile des Teppichs.
*/
int column = Integer.parseInt(args[0]);
int row = Integer.parseInt(args[1]);

// Wenn Breite größer ist als Länge,dann sollen diese vertauscht werden (Erste Breite dann Länge)
// temp als Zwischenspeicher

if (row > column) {
int temp = row;
row = column;
column = temp;
}

// Schleife die den Teppich ausgibt
for (int i = 1; i <= row; i++) {
System.out.println();
//Hilfsmethode
printfranzen(i, row);

for (int j = 1; j <= column; j++) {
System.out.print("#");
//Hilfsmethode
}printfranzen(i, row);
}
}


/** Hilfsmethode mit Abfrageanweisung für Ausgabe der Fransen.*/

public static void printfranzen(int i, int row) {
if(row%2 == 0)
System.out.print("--");
else {
if (i%2 == 0)
System.out.print(" ");
else
System.out.print("--");
}
}
}
 

Final_Striker

Top Contributor
ist dir dieser dicker roter Hinweis nicht zufällig aufgefallen?

Java™ Quelltext ist bitte in [ JAVA]-Tags zu schreiben: [ JAVA]hier Java Code einfügen[ /JAVA]
 

Fab1

Top Contributor
er meint dein Quellcode soll so aussehen

Java:
public class Test {

	public static void main(String[] args) {

		/**
		 * Initialisierung der Variablen für Länge und Breite
		 * 
		 * @param column
		 *            des Teppichs.
		 * @param Spalte
		 *            Zeile des Teppichs.
		 */
		int column = Integer.parseInt(args[0]);
		int row = Integer.parseInt(args[1]);

		// Wenn Breite größer ist als Länge,dann sollen diese vertauscht werden
		// (Erste Breite dann Länge)
		// temp als Zwischenspeicher

		if (row > column) {
			int temp = row;
			row = column;
			column = temp;
		}

		// Schleife die den Teppich ausgibt
		for (int i = 1; i <= row; i++) {
			System.out.println();
			// Hilfsmethode
			printfranzen(i, row);

			for (int j = 1; j <= column; j++) {
				System.out.print("#");
				// Hilfsmethode
			}
			printfranzen(i, row);
		}
	}

	/** Hilfsmethode mit Abfrageanweisung für Ausgabe der Fransen. */

	public static void printfranzen(int i, int row) {
		if (row % 2 == 0)
			System.out.print("--");
		else {
			if (i % 2 == 0)
				System.out.print(" ");
			else
				System.out.print("--");
		}
	}
}

Ich versteh allerdings deine Frage nicht ganz :) wenn ich 2 Parameter in der Kommandozeile übergebe dann passiert etwas. Einen soll man ja nicht übergeben, oder habe ich da was übersehen?
 

ShuShu

Mitglied
Also ich würde gerne wissen wie ich diesen Teppich zb in den Maßen 20 x 4 auf der Konsole ausgebe?

Das mit den Argumenten versteh ich noch nicht so ganze:S:$
 

Fab1

Top Contributor
ganz einfach in dem du in eclipse auf Run --> Run Configurations gehst und anschließend bei dem Registerblatt Arguments folgendes eingibst "4 20" ohne die "" einfach mit einem Leerzeichen getrennt, so werden 2 Argumente übergeben
 

ShuShu

Mitglied
oh man, ich hatte halt mal so ne ähnlich Aufgabe mit 2 Argumenten, habe das dann auch so gemacht, ging dann nicht;) hab dann gedacht das geht vllt anders:D aber dann war wohl irgendwas falsch:D habe es dann ganz anders gemacht:D

Vielen lieben dank Fab1:)
 
Zuletzt bearbeitet:

Jango

Gesperrter Benutzer
ist dir dieser dicker roter Hinweis nicht zufällig aufgefallen?

Java™ Quelltext ist bitte in [ JAVA]-Tags zu schreiben: [ JAVA]hier Java Code einfügen[ /JAVA]

Also ich bin ja nicht hohl und wenn ich eine Ahnung hätte wie ich das dann anstellen soll, würde ich wohl kaum fragen;)

Hahahaha...

Schonmal darüber nachgedacht, dass damit gemeint ist, den Quelltext in Tags zu packen?
Wegen der Hohlheit... *räusper*
 

ShuShu

Mitglied
OOOH MANN!!

Ich bin Anfängerin und kein Nerd... ich muss doch nicht alles verstehen oder? Deshalb habe ich die Frage gestellt?!?! Logisch oder? Und der einzige der wirklich Helfen konnte war Fab1 und fertig... und mit Hohl meinte ich.. das mir der rote Hinweis schon aufgefallen ist...ayayayay
 

Neue Themen


Oben