#1 27. November 2009 Raute aus sternen legen Hi ich bräuchte bei einer aufgabe mal hilfe also die aufgabe ist das man eine raute aus sternen ausgibt mit einer to string methode und das der konstruktor ein Feld vom Typ boolean der Größe nxn es soll wie z.B so aussehn * *** **** ***** **** *** * naja halt nur zumindest so ähnlich ich habe es bis zu hälfte programmiert mit einer forschleife so das ich ein * *** **** ***** erstell aber der unter teil der raute fehlt mir noch ich komm leider nicht drauf wie ich den rest ***** **** *** * programmiere meine for schleife ist wie folgt für den oberenteil for(int i = 1;i<feld.length;i++) { for(int j = 1;j<feld.length;j++) { for (j=1; j<=(2*i-1); j++) System.out.print("*"); } } for (int i = feld.length;i<0;i--) { for(int j =feld.length;j>0;j--) und leider weiß ich jetz nicht mehr weiter und sitz an dieser stelle zeit gestern fest ohne eine sinnvolle lösung zu finden könnt ihr mir vieleicht weiter helfen ?? + Multi-Zitat Zitieren
#2 27. November 2009 AW: Raute aus sternen legen ich hab keine Ahnung was du mit deinem boolean konstruktor usw willst ich hab hier einfach mal was gemacht..... Spoiler Code: public class Sternchen { static int length=6; public static void main(String[] args) { for (int i=1;i<(2*length);i++) { if (i<length) { System.out.println(getStars(i)); } else { System.out.println(getStars(2*length-i)); } } } private static String getStars(int amount) { String stars=""; for (int i=1;i<length-(amount/2);i++) { stars+=" "; } for (int i=1;i<=amount;i++) { stars+="*"; } return stars; } } aber vielleicht kann man dir besser helfen, wenn du für deine Problembeschreibung komplette deutsche Sätze benutzt + Multi-Zitat Zitieren
#3 28. November 2009 AW: Raute aus sternen legen hehe sry ok dann versuch ich nochmal mein problem zu erklären. also das wo nach ich gesucht habe ist genau das was du da gepostet hast ein riesen thx aber leider fehlt das mit boolean =( das mit dem boolean hab ich eingebaut weil ich erst in der konsole des compliers sagen möchte wie groß mein feld werden soll und nicht schon in der klasse das er in deinem fall den wert 6 hat daher hab ich ein boolean erstellt. und ich würde gern die sterne mit einer tostring methode ausgeben die so aussehn würde Wenn eine Feldkomponente den Wert false hat wird ein Leerzeichen angehängt true hat, dann wird ein *angehängt. deswegen hab ich ein boolean gemacht gehabt + Multi-Zitat Zitieren
#4 28. November 2009 AW: Raute aus sternen legen hi jetzt versteh ich auch was du machen willst also ich würde es ungefähr so machen mainmethode { lies die größe der Raute ein erstelle die raute in einem boolean array erstelle aus dem boolean array einen string, true zu sternchen, false zu leerzeichen } methode um das boolean array zu erstellen: hier ist die frage, macht man 2 for-schleifen oder eine mit ner if abfrage dann wieder ne for schleife in der du die 2. zeile des arrays entweder true oder false setzt eine to string methode, die einfach mit 2 forschleifen das array durchläuft und entsprechen * oder leertaste ausgibt ich werde das grade mal in quellcode umsetzen, dann kann ichs dir vielleicht auch hier posten edit: Spoiler Code: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Sternchen { public static void main(String[] args) { //Einlesen einer Double Variable System.out.println("Bitte geben Sie die Größe der Raute an:"); BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String input=""; try { input = reader.readLine(); } catch (IOException e) { e.printStackTrace(); } double length = Double.parseDouble(input); //wegen Rundungsfehler müssen 0.5 aufgerechnet werden length=length/2+0.5; boolean[][] temp; //double variable zum int casten temp=createDiamond((int)length); System.out.println(booleanToString(temp)); } private static boolean[][] createDiamond(int length) { boolean[][] ret = new boolean[length*2][length*2]; int amountInRow; for (int x=1;x<=ret.length;x++) { if (x<(length)) { amountInRow=x; } else { amountInRow=length*2-x; } for (int y=1;y<=ret.length;y++) { if ((y>(length-amountInRow))&&(y<length*2-(length-amountInRow))) { ret[x-1][y-1]=true; } else { ret[x-1][y-1]=false; } } } return ret; } private static String booleanToString(boolean[][] starsBoolean) { String ret=""; for (int x=0;x<starsBoolean.length;x++) { for (int y=0;y<starsBoolean.length;y++) { if (starsBoolean[x][y]) { ret+="*"; } else { ret+=" "; } } ret+="\n"; } return ret; } } + Multi-Zitat Zitieren