Hallo Leute stehe mit meinem Programm auf dem Schlauch ... kann mir jemand vielleicht sagen wie ich weiter machen kann.
Ich habe die Aufgabe bekommen mein geschriebenes programm einmal ein quadrat das von einem Scanner gelesen wird aus gibt und das gleiche für eine Raute ... nun ist meine Aufgabe diese beiden Programm zu einem zu verbinden und auszugeben sprich :
Es wird abgefragt ob quadrat oder eine Raute oder das programm beendet werden soll ... es soll dann eingegeben werden q für Quadrat, r für Raute und E zum beenden.... dann wie gross es sein soll bei der Raute nur mit geraden zahlen ... wenn man nun ein quadrat ausgibt soll grfagt werden "was nun" und je nachdem was man möchte beenden oder raute oder quadrat.
Mein problem ich lasse das Qauadrat ausgeben und möchte danach raute ausgeben springt es nicht weiter sondern gibt immernoch das Quadrat aus ... und den befehl zum beenden mit E konnte ich auch nicht einbinden mein kopf ist Matsch geworden würde mich über lösungen freuen, weil ich die nerven nicht mehr dazu habe hoffe ich kann mir jemand dabei helfen .... hier mein code ....::
____________________________________________________________________________________________________
import java.util.Scanner;
public class Übung {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("Geben Sie 'Q' für Quadrat und 'R' für Rauten ein und zum Beenden 'E' ein: ");
String Eingabe = sc.next();
char c = Eingabe.charAt(0);
while (c != 'E' || c != 'e'){
Beenden();
System.out.println("beenden!");
Eingabe = sc.close();
}
{
if (c == 'Q' || c == 'q') {
Quadrat();
System.out.println("Als Nächstes? ");
Eingabe = sc.next();
}
else if (c == 'R' || c == 'r') {
Raute();
System.out.println("Als Nächstes? ");
Eingabe = sc.next();
}
}
}
static void Quadrat() {
System.out.println("N =");
int n = sc.nextInt();
System.out.print("+");
for (int i = 1; i <= n - 2; i++) {
System.out.print("-");
}
System.out.print("+");
for (int a = 1; a <= n - 2; a++) {
System.out.println();
System.out.print("|");
for (int b = 1; b <= n - 2; b++) {
System.out.print(" ");
}
System.out.print("|");
System.out.println();
}
System.out.print("+");
for (int i = 1; i <= n - 2; i++) {
System.out.print("-");
}
System.out.print("+");
System.out.println();
}
static void Raute() {
Scanner eingabe = new Scanner(System.in);
System.out.print("Geben Sie N ein: ");
int n = eingabe.nextInt();
if (n > 0 && n!=0 && n%2==0) {
for (int i = 0; i <= n / 2 - 1; i++) {
for (int j = 0; j < (n / 2 - (i + 1)); j++) {
System.out.print(" ");
}
System.out.print("/");
for (int k = 0; k < (i * 2); k++) {
System.out.print(" ");
}
System.out.print("\\");
System.out.println();
}
for (int i = n / 2 - 1; i >= 0; i--) {
for (int j = 0; j < (n / 2 - (i + 1)); j++) {
System.out.print(" ");
}
System.out.print("\\");
for (int k = 0; k < (i * 2); k++) {
System.out.print(" ");
}
System.out.print("/");
System.out.println();
}
} else
System.out.println("Bitte eine gerade Zahl eingeben!");
}
}
Ich habe die Aufgabe bekommen mein geschriebenes programm einmal ein quadrat das von einem Scanner gelesen wird aus gibt und das gleiche für eine Raute ... nun ist meine Aufgabe diese beiden Programm zu einem zu verbinden und auszugeben sprich :
Es wird abgefragt ob quadrat oder eine Raute oder das programm beendet werden soll ... es soll dann eingegeben werden q für Quadrat, r für Raute und E zum beenden.... dann wie gross es sein soll bei der Raute nur mit geraden zahlen ... wenn man nun ein quadrat ausgibt soll grfagt werden "was nun" und je nachdem was man möchte beenden oder raute oder quadrat.
Mein problem ich lasse das Qauadrat ausgeben und möchte danach raute ausgeben springt es nicht weiter sondern gibt immernoch das Quadrat aus ... und den befehl zum beenden mit E konnte ich auch nicht einbinden mein kopf ist Matsch geworden würde mich über lösungen freuen, weil ich die nerven nicht mehr dazu habe hoffe ich kann mir jemand dabei helfen .... hier mein code ....::
____________________________________________________________________________________________________
import java.util.Scanner;
public class Übung {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("Geben Sie 'Q' für Quadrat und 'R' für Rauten ein und zum Beenden 'E' ein: ");
String Eingabe = sc.next();
char c = Eingabe.charAt(0);
while (c != 'E' || c != 'e'){
Beenden();
System.out.println("beenden!");
Eingabe = sc.close();
}
{
if (c == 'Q' || c == 'q') {
Quadrat();
System.out.println("Als Nächstes? ");
Eingabe = sc.next();
}
else if (c == 'R' || c == 'r') {
Raute();
System.out.println("Als Nächstes? ");
Eingabe = sc.next();
}
}
}
static void Quadrat() {
System.out.println("N =");
int n = sc.nextInt();
System.out.print("+");
for (int i = 1; i <= n - 2; i++) {
System.out.print("-");
}
System.out.print("+");
for (int a = 1; a <= n - 2; a++) {
System.out.println();
System.out.print("|");
for (int b = 1; b <= n - 2; b++) {
System.out.print(" ");
}
System.out.print("|");
System.out.println();
}
System.out.print("+");
for (int i = 1; i <= n - 2; i++) {
System.out.print("-");
}
System.out.print("+");
System.out.println();
}
static void Raute() {
Scanner eingabe = new Scanner(System.in);
System.out.print("Geben Sie N ein: ");
int n = eingabe.nextInt();
if (n > 0 && n!=0 && n%2==0) {
for (int i = 0; i <= n / 2 - 1; i++) {
for (int j = 0; j < (n / 2 - (i + 1)); j++) {
System.out.print(" ");
}
System.out.print("/");
for (int k = 0; k < (i * 2); k++) {
System.out.print(" ");
}
System.out.print("\\");
System.out.println();
}
for (int i = n / 2 - 1; i >= 0; i--) {
for (int j = 0; j < (n / 2 - (i + 1)); j++) {
System.out.print(" ");
}
System.out.print("\\");
for (int k = 0; k < (i * 2); k++) {
System.out.print(" ");
}
System.out.print("/");
System.out.println();
}
} else
System.out.println("Bitte eine gerade Zahl eingeben!");
}
}