• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

java problem, need help

Mitglied seit
26.06.2001
Beiträge
147
Reaktionen
0
hi erstma

also wir haben neulich mit java angefangen und irgendwie blick ichs nich
und zwar folgendes: es soll ein programm erstellt werden, was grafisch einen tannenbaum darstellt

so soll das ganze aussehn: i/\i -> spitze
nächste zeile dann halt i/ \i (2 leerzeichen)
usw

hat irgendwer ne idee, ich verzweifel grad etwas
danke
:cool:
 
Mitglied seit
12.01.2004
Beiträge
8.557
Reaktionen
0
Ort
Gießem
mit ascii? ka wies in java, aber

x = anzahl der reihen

Code:
i,j:int; // i = ebene; j= anzahl der leerzeichen

for(i=0; i<x; i++)
{
    printf("i/");
    for(j=0; j<i; j++)
       printf(" ");
    printf("\\i");
}

so ausm bauch raus
 
Mitglied seit
28.07.2006
Beiträge
5.295
Reaktionen
0
Original geschrieben von Picard)STF
mit ascii? ka wies in java, aber

x = anzahl der reihen

Code:
i,j:int; // i = ebene; j= anzahl der leerzeichen

for(i=0; i<x; i++)
{
    printf("i/");
    for(j=0; j<i; j++)
       printf(" ");
    printf("\\i");
}

so ausm bauch raus

Jo, einfach ne for-Schleife inner for-Schleife, die dann die Leerzeichen reinmacht. Einfacher geht's glaube ich nicht. Die andere Methode wäre halt immer i Leerzeichen aus nem String(der ein Leerzeichen enthält) in nen StringBuffer zwei Zeichen vor Ende einzufügen. Dann bräuchte man nur eine for-Schleife.
 
Mitglied seit
03.08.2002
Beiträge
3.257
Reaktionen
14
klingt eher nach ner rekursiven baumstruktur
anhand eines baumes (wie hübsch bildlich die aufgabenstellung :[)
 
Mitglied seit
21.01.2004
Beiträge
2.082
Reaktionen
0
system.out.print("asd");
bei Java
ansonsten alles gleich auser das du keine richtige formatierungen für die Asugabe hast mal abgesehen von \n oder \t
 
Mitglied seit
12.01.2004
Beiträge
8.557
Reaktionen
0
Ort
Gießem
Original geschrieben von Getraenkeautomat
system.out.print("asd");
bei Java
ansonsten alles gleich auser das du keine richtige formatierungen für die Asugabe hast mal abgesehen von \n oder \t

mit der formatierung hast du allerdings recht.
naja, vielleicht gibts ja sowas wie nen <center>-tag ^^
 

10110

Guest
Da ich grad meine sozialen 5 Minuten hatte, und sonst nix zutun ist, hier paar Zeilen C++ Spaghetti-Code, sogar mit Formatierung. Das auf Java umzumodeln, wirst du ja wohl noch hinbekommen.

Code:
main()
{
int i,j,a,b;
cout<<"Zeilen: ";cin>>j;
for (a=0; a<j; a++)
 {
  for (i=j; i>a; i--)
   {
    cout<<" ";
   }
  cout<<"i/";
  for (b=0; b<2*a; b++)
   {
    cout<<" ";
   }
  cout<<"\\i\n";
 }
getch();
}
 
Mitglied seit
04.08.2002
Beiträge
712
Reaktionen
0
Ort
Köln
bin immerwieder froh wenn ich in java was auf die reihe bekomme, also wenn ich richtig verstanden habe was du willst, sollte das so aussehen (keine garantie, dass es nicht leichter / kürzer geht):

Code:
public class TBaum {
    public static String leerZeichen(int anzahl) {
            String lz = "";
            for (int i=0;i<anzahl;i++)
                lz += " ";
            return lz;
        }
    
    public static void main(String[] args) {
        int zeilen = 10 * 2; // Die 10 steht hier für die anzahl der Zeilen
        int abstd = zeilen / 2;
        
        for(int j = 0;j < zeilen; j = j+2) {
            System.out.println(leerZeichen(abstd) + "i/" + leerZeichen(j) + "\\i");
            abstd--;
        }
        
        
    }
}

Code:
          i/\i
         i/  \i
        i/    \i
       i/      \i
      i/        \i
     i/          \i
    i/            \i
   i/              \i
  i/                \i
 i/                  \i

hf
 
Oben