Hey Leute!
Vorab bin noch sozusagen blutiger Anfänger, also seid gnädig
Aber ok zum Thema:
Ich soll eine Sternenraute entwerfen, die Eingaben vom Benutzer einliest und dann quasi eine Sternenraute ausgibt, die Eingaben stellen die Höhe einer Raute dar und sie sollen nur ungerade, positive und ganze Zahlen sein. Wenn es ein unerlaubter Wert ist, sollen die Eingaben vom Benutzer solange wiederholt werden bis es passt!
Ein Beispiel wäre: --*
------------------*-*
-----------------*---*
----------------*-----*
----------------*----*
-----------------*--*
-------------------* (Sorry ich gebe zu, dasist vlt jetzt nicht das schönste Beispiel, aber zum Verständnis, dachte ich hilfts ganz gut und die Minuse sollen natürlich Leerzeichen darstellen, hab es nicht anders auf die Reihe gekriegt
)
Joa also so weit so gut, ich weiß auch ungefähr wie man einen Sägezahn erstellt, also dass von Zeile zu Zeile es mehr Sterne werden, aber hier jetzt häng ich iwie grad ziemlich, wenn der Wert und die Höhe vorgegeben ist, tu ich mich auch leichter. Aber ja jetzt auch mal eine Frage: Wie mach ich das denn, dass die Raute ab der Hälfte (also hier bei meiner wunderschönen Skizze "soll" es einen Stern mit der Höhe 7 darstellen), dass die Raute wieder enger zusammengeht?
Hmm naja hier mal was ich bis jetzt geschafft hab, aber wie gesagt,ich kriege es hin, dass ich zum Beispiel von Zeile zu Zeile immer mehr Sterne habe, aber eben keine Raute. Wäre euch sehr dankbar, wenn ihr mir vlt sagen könnt bzw Tipps geben könnt, wie ich das ungefähr bewerkstelligen könnte?!
Aber hier erst mal, soweit ich gekommen bin:
[Java=1]
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Diamond2 {
public static void main(String[] args) {
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("Bitte geben sie die Höhe ein, sie sollte "
+ "eine ungerade, positive und ganze Zahl sein!");
String höheSTR = in.readLine();
int höhe = Integer.parseInt(höheSTR);
for (int i = 1; i <= höhe; i++) {
for (int j = 1; j <= höhe; j++) {
System.out.print("*");
}
// Zeilenumbruch
System.out.print("\n");
}
} catch (Exception e) {
System.out.println("Ungültige Eingabe!");
}
}
}
[/Java]
MfG
earl
Vorab bin noch sozusagen blutiger Anfänger, also seid gnädig
Aber ok zum Thema:
Ich soll eine Sternenraute entwerfen, die Eingaben vom Benutzer einliest und dann quasi eine Sternenraute ausgibt, die Eingaben stellen die Höhe einer Raute dar und sie sollen nur ungerade, positive und ganze Zahlen sein. Wenn es ein unerlaubter Wert ist, sollen die Eingaben vom Benutzer solange wiederholt werden bis es passt!
Ein Beispiel wäre: --*
------------------*-*
-----------------*---*
----------------*-----*
----------------*----*
-----------------*--*
-------------------* (Sorry ich gebe zu, dasist vlt jetzt nicht das schönste Beispiel, aber zum Verständnis, dachte ich hilfts ganz gut und die Minuse sollen natürlich Leerzeichen darstellen, hab es nicht anders auf die Reihe gekriegt
Joa also so weit so gut, ich weiß auch ungefähr wie man einen Sägezahn erstellt, also dass von Zeile zu Zeile es mehr Sterne werden, aber hier jetzt häng ich iwie grad ziemlich, wenn der Wert und die Höhe vorgegeben ist, tu ich mich auch leichter. Aber ja jetzt auch mal eine Frage: Wie mach ich das denn, dass die Raute ab der Hälfte (also hier bei meiner wunderschönen Skizze "soll" es einen Stern mit der Höhe 7 darstellen), dass die Raute wieder enger zusammengeht?
Hmm naja hier mal was ich bis jetzt geschafft hab, aber wie gesagt,ich kriege es hin, dass ich zum Beispiel von Zeile zu Zeile immer mehr Sterne habe, aber eben keine Raute. Wäre euch sehr dankbar, wenn ihr mir vlt sagen könnt bzw Tipps geben könnt, wie ich das ungefähr bewerkstelligen könnte?!
Aber hier erst mal, soweit ich gekommen bin:
[Java=1]
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Diamond2 {
public static void main(String[] args) {
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("Bitte geben sie die Höhe ein, sie sollte "
+ "eine ungerade, positive und ganze Zahl sein!");
String höheSTR = in.readLine();
int höhe = Integer.parseInt(höheSTR);
for (int i = 1; i <= höhe; i++) {
for (int j = 1; j <= höhe; j++) {
System.out.print("*");
}
// Zeilenumbruch
System.out.print("\n");
}
} catch (Exception e) {
System.out.println("Ungültige Eingabe!");
}
}
}
[/Java]
MfG
earl