Forum / Grundlagen des Programmierens / 1. Hausübung
1. Hausübung
Ok, ich habe eine relativ einfache Frage zur Aufgabe 1.3. Man soll dort mit Hilfe von Schleifen ein rechteckmuster erzugen. Mein Programm hat aber einen kleinen Fehler.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Geben Sie bitte ein Zeichen ein:");
String str = sc.nextLine();
System.out.println("Geben Sie die Anzahl der Spalten ein:");
int i = sc.nextInt();
System.out.println("Geben Sie die Anzahl der Zeilen ein:");
int n = sc.nextInt();
while (i > 0) {
while (n > 0) {System.out.print(str); System.out.println(str);
i--;n--;
}
\n~~~
Das ist mein aktueller Programmcode den ich verwende. Habe das Programm folgendermasen gerunt:
Geben Sie bitte ein Zeichen ein:
x
Geben Sie die Anzahl der Spalten ein:
5
Geben Sie die Anzahl der Zeilen ein:
7
xx
xx
xx
xx
xx
xx
xx
wo liegt hier mein Fehler im Code? so kompliziert is das gar neda ber mir fällt keine lösung grad ein bin für jede HIlfe dankbar
Ja das mit dem einen Zeichen mehr, ist meiner Meinung nach ein Schönheitsfehler in deiner Programmierung, weil du ihm nämlich 2x das str ausgeben lässt. Du kannst ihm auch nur einen Zeilenumbruch machen lassen in dem du ihm in System.out.print("\n"); ausgeben lässt.
Ich hab das Programm in 5 Minuten herunter geschrieben und deshalb sind noch einige Schönheitsfehler dabei. Ihr habt natürlich recht...!
Ich habe ein Problem bei Beispiel eins, und zwar beim Rauslesen aus der Eingabe die der User in der Konsole machen soll. Ich finde keinen Fehler in meinem Quelltext, aber bei der if bedingung nimmt java immer den wert i=0... Liegt es an der Formulierung der if-Bedingung mit dem String?
public class Aufgabe1_1026883_1 {
public static void main(String[] args) {
System.out.println("Hello! Please choose your language");
System.out.println("Deutsch=D");
System.out.println("Englisch=GB");
System.out.println("Russisch=RU");
Scanner sc = new Scanner(System.in);
String sprache = sc.nextLine();
int i;
if (sprache == "D" )i=1;
else if (sprache == "GB") i=2;
else if (sprache == "RU") i=3;
else i=0 ;
System.out.println(i);
System.out.println(sprache);
switch (i) {
case 1: { System.out.println("Hallo Welt!");
break; }
case 2: {System.out.println("Hello World!");
break;}
case 3: {System.out.println("Privjet Mir!");
break;}
default: {System.out.println("no correct enter");}
}
}
}
\n~~~
Hoffe jemand kann mir weiterhelfen :/
Hi hab das erste beispiel grad probiert und ich weis jetzt nicht recht warum er mir es als falsch anzeigt. kann mir einer das problem sagen?
danke
kann mir wer sagen was es fürn command gibt um ein programm -nicht- direkt zu schliessen? also nachdem es durchgerannt is mein ich. ums zu beenden gibts ja System.exit(0), aber das gegenstück dazu? oder was womit ich wieder an den start zurückspringen kann wär vlt besser. (2.tes beispiel die If schleife bin ich grad am überlegen - und ich hab 0 programmier vorkenntnisse) wär klasse wenn ihr mir was einfaches zeigen könnts, damit ich selber bissl rumbasteln kann (und keinen fertigen code) :)
Hi hab das erste beispiel grad probiert und ich weis jetzt nicht recht warum er mir es als falsch anzeigt. kann mir einer das problem sagen?
danke
Frage:
Fehlt hier bei der "case" Unterscheidung nicht auch noch die "break" Anweisung?
WIe ich dass nur wieder Übsersehen hab :S
Ich glaub das WE war doch zu lang^^; Sorry !
Daniel @kumpls
Wirtschaftsingenieur... · Technische Universit...
Ich hab das Programm schnell herunter geschrieben. Es ist nicht die beste Lösung, aber es funktioniert!