Muster,Java

G

Gast2

Gast
Gibts:
http://www.java-forum.org/forum-faq-beitraege/80991-bbcode-textauszeichnung-forum-2.html#post873544
 

babuschka

Top Contributor
Nein, ich mein , wenn ich z.B. dieses Dreieck erstellen will:
*
**
***
****
*****
******
*******
********
*********
Dann ist mein Code ganz einfach:
Java:
public class muster{
public static void main (Strings[]args){

for(int i=0;i<10;i++) {
for(int j=0;j<i;j++) {
System.out.print("*");
}
System.out.println();
}
}
}
[/Java]

Hier habe ich keine IF,Else usw. sondern nur meine forschleifen und meine ausgaben.
Und wenn ich das jetzt vertikal spiegeln will,gibt da keine so einfache möglichkeit , wie hier?
Einfach 2 forschleifen und ausgaben....
Hoffe ihr könnt helfen :-)
 

Landei

Top Contributor
Der Unterschied ist doch, dass du dann Leerzeichen vor den Sternen brauchst. Mit der aktuellen Version schenkst du dir die Leerzeichen hinter den Sternen - weil die ja eh niemand sieht :)
 

Landei

Top Contributor
Als ich in meinem Gerümpel-Projekt nach "Stern" gesucht habe, kam übrigens das zum Vorschein :)

Java:
    public static void sterne(int zeilen) {
        for(int i = 1; i <= zeilen*(zeilen+1)/2; i++) {
            int r = (int) Math.sqrt((i<<3)+1);
            System.out.print(r*r == (i<<3)+1 ? "*\n" : "*");
        }
    }

   public static void main(String... args) {
       sterne(16);
   }

Rube Goldberg wäre stolz auf mich!
 

babuschka

Top Contributor
Hahahah :-D
Das heisst , nur weil ich das Dreieck vertikal spiegeln will , muss ich viele Zeilen dazu schreiben :-(.
Dachte es geht auch einfacher ^^
 

babuschka

Top Contributor
Hää also mit dem wird das dreieck garnicht vertikal gespiegelt...sondern ich kriege ne pyramide

Java:
for (int i=1; i<=zeilen; i++)
    {
        for (int x=i; x<zeilen; x++)
            System.out.print(" ");
        
        for (int x=1; x<=((i*2)-1); x++)
            System.out.print("+");
        
        
        System.out.println();
    }
 

Landei

Top Contributor
Na ja, bei dem ganzen Dreieckszeug wäre es hilfreich, eine Methode zu haben, die dir x-mal den Buchstaben y liefert, etwa so (aus'm Kopp - ohne Gewähr):

Java:
public static String repeatChar(int x, char y) {
  char[] array = new char[x];
  java.util.Arrays.fill(array, y);
  return new String(array);
}
 

babuschka

Top Contributor
Ne passt schon , aslo ich meinte das hier: habs jetzt hinbekommen ;-)
Java:
public class  g {
    public static void main (String args[]){
        
     
        for(int a=0; a<10; a++) {
            for (int b=0;b<10;b++) {
                if(b<a){
                    System.out.print (" ");
                }
                else {
                    System.out.print("*");
                }
            
            }
            System.out.println();
            
        }
        
    }
}
 

Landei

Top Contributor
Das geht ungefähr so:

Java:
for (int i=0; i < zeilen; i++) {
        for (int x = 0; x< i; x++)
            System.out.print(" ");
        
        for (int x = i; x < zeilen; x++)
            System.out.print("+");
        
        
        System.out.println();
}
 

Oben