Einfache konsolengrafik

Status
Nicht offen für weitere Antworten.

Brokk

Mitglied
Hallo

bin neu hier

bin gerade im 1 semester informatik und habe jetzt noch nicht wirklich viel in java programmiert :roll:



ich habe von meinem prof vollgende aufgabe bekommen :


ich soll ein programm schreiben welches ein quadrat in der konsole ausgibt .


Zuerst soll ich zwei werde einlesen Seitenlange und Rahmen . <--- das kan ich schon


diesen sind zwei symbole zugewiesen welche dan x mal ausgegeben werden sollen. Seite = * Rahmen = #


es soll dan wie folgt aussehen : Für z.b.: seite = 5 Rahmen = 2

#########
#########
##******##
##******##
##******##
##******##
##******##
#########
#########

wen zb rahmen = 0 dan soll nur seite ausgegeben werden

*****
*****
*****
*****
*****



ich frage mich jetzt wie ich soetwas zuweise dh wie ich java dazu bekomme das # und das * x mal auszugeben ?

für feste werte ist dies kein problem aber wie mach ich das mit der benutzereingabe ?

das alles soll in der konsole geschehen .......

ich hab jetzt schon in allen lehrbüchern nachgesehen und bei google geschaut aber ich bin nicht fündig geworden

vllt kan mir jemand dabei weiterhelfen oder mir n paar hinweise geben ???

cu brokk
 

dieta

Top Contributor
Du schreibst dir am besten zwei verschachtelte for-schleifen, die je x-mal durchlaufen werden:
Code:
for(int i=0; i<x; i++)
{
    for(int j=0; j<x; j++)
    {
        //Tu was
    }
}
 

Brokk

Mitglied
jo das ist sehr gut


hab das jetzt mal gemacht und es funktioniert auch aber nur nach unten

wen ich ramen 2 eingebe sieht das so aus :
##
##
##
##
##

aber wie bekomm ich das in die waagerechte ?

also so :

#####
#####
##
##



cu brokk
 

moormaster

Top Contributor
Brokk hat gesagt.:
jo das ist sehr gut


hab das jetzt mal gemacht und es funktioniert auch aber nur nach unten

wen ich ramen 2 eingebe sieht das so aus :
##
##
##
##
##

aber wie bekomm ich das in die waagerechte ?

also so :

#####
#####
##
##



cu brokk

Das kann doch nicht soo kompliziert sein...


Code:
  int length=8, border=2; // Variablen, in denen Seitenlänge und Rand abgelegt ist

  for (int i=0;i<length;i++)
  {
   for (int j=0;j<length;j++)
   {
    if (i < border || length-i <= border || j < border || length-j <= border) // befindet sich das aktuelle Feld (Spalte j, Zeile i) innerhalb des Randes?
     System.out.print("#");
    else
     System.out.print("*");
   }

   System.out.println();  // neue Zeile
  }
 
Status
Nicht offen für weitere Antworten.

Oben