Forum / Grundlagen des Programmierens / 1. Hausübung
1. Hausübung
hat schon jemand von euch das 2.Beispiel gelöst? ich schaffs iwi nicht dass das programm zu 100% funktioniert ^^ Ich hoffe ihr könnt helfen :D
beste Grüße
Ich hab das denk ich ein bisschen aufwändiger gelöst... ich hab die Eingabe mit 3 verschiedenen Scannern gemacht...ändert aber eigentlich eh nix! ;) Also wie du die äußeren Zeichen einfügen kannst...
Der "Kern" muss ja leer bleiben. Ich hab das so gelöst das ich eine While Schleife gemacht hab...die so aussieht:
while (Anzahl_Reihen - 2 > 0){
int k = Anzahl_Spalten;
System.out.print(Verwendetes_Symbol);
while (k - 2 > 0){
System.out.print(" ");
k = k-1;
Dann halt noch die Anzahl-reihen while schleife fertigschreiben...
vielleicht hilfts ja :D
Wenn dus per for/if belassen willst:
for(i = 0; i < row; i++){ //Zeilenschleife i++ steht für i = i+1 (Postinkrement) schnellschreibweise.
if(i == 0 || i == row-1){ //Erste und letzte Zeile abfragen, da hier alternative Zeichnung
for(j = 0; j < col; j++){ //Wenn zutrifft dieses print.
System.out.print(sym); //For schleife geht die Spalten und und schreibt sym.
if(j == col-1){ //Am ende der letzten Spalte eine neue Zeile (col-1 da bei 0 initialisiert).
System.out.println(); //Neue Zeile.
}
}
} //Ende der If-Abfrage
else{ //Wenn ich mich nicht im ersten Fall befinde:
System.out.print(sym); // 1x sym ausgeben
for(k = 0; k < col-2; k++){ //Leerzeichen ausgeben und zwar col-2 mal (erste und letzte Spalte bleiben erhalten
System.out.print(" ");} //Leerzeichen + ende for-Schleife
System.out.println(sym); //1x sym ausgeben und neue Zeile
} //Ende else
Kann vielleicht jemand von euch die Aufgabe 1_1 hohchladen, ich komm irgendwie ned drauf Aufgabe 1_3 habe ich geschafft mit Ausnahme, dass bei falscher eingabe er nicht wieder zum menüpunkt springt import java.util.Scanner; /* Klasse für das Einlesen von Zeichen */
public class Aufgabe1_3 {
public static void main(String[] args) {
System.out.println("Willkommen im Begrüßungsmenü!"); /* Textausgabe*/
System.out.println("Bitte wählen Sie einen Menüpunkt:"); /* Textausgabe*/
System.out.println("(D) Deutsch "); /* Textausgabe*/
System.out.println("(E) Englisch"); /* Textausgabe*/
System.out.println("(F) Französisch"); /* Textausgabe*/
System.out.println("(I) Italienisch"); /* Textausgabe*/
System.out.println("(X) Beenden"); /* Textausgabe*/
Scanner Eingabe = new Scanner(System.in);
char Language = Eingabe.next().charAt(0);
switch (Language) {
case 'D': /* Liesß Zeichen D ein */
System.out.println("Guten Tag!");
break; /* Schleife endet hier */
case 'E':
System.out.println("Hello!");
break;
case 'F':
System.out.println("Bonjour!");
break;
case 'I':
System.out.println("Buon giorno!");
break;
case 'X':
System.out.println("Auf Wiedersehen!");
break;
default:
System.out.println("keine gültige Eingabe");
System.exit(0); /* Rückgabecode 0=alles ok */
}
}
}
1.3 über do while. Da while eine kopfgesteuerte Schleife ist und das zu Problemen führen kann bei diesem Bsp. In die do while Schleife kommt dann ne switch Abfrage.
Hätte wer einen Tipp für mich wie die Schleife beim 3ten Beispiel aussehen muss? ich komm und komm nicht drauf... es muss ja wohl eine do-while schleife sein oder? in do kommt die Ausgabe (System.out) und auch der Scanner rein und auch das gesamte Switch-case oder? aber was muss ich in mein while rein schreibn...? Da komm i ned drauf! Danke schon mal!!
In while kommt rein wie lange die Schleife laufen soll. Jetzt musst du dir überlegen wann die Schleife abbricht, und das ist der Fall wenn der User X eingibt.
Danke...das war mir auch klar...nur wenn ich meine while schleife so baue das als "Abfrage" kommt while (Eingabe != 'X') ist leider auch nicht wirklich eine Besserung in sicht...da sagt er mir wieder das die Variable "Eingabe" gar nicht definiert ist...die hab ich aber vorher gescannt und für den switch case verwendet...ich steh da momentan wohl massiv auf der leitung :D
ja...das funktioniert ja auch alles bei mir...die endlosschleife der Auswahlmöglichkeiten bring ich auch zam...nur das er das ganze schrittweise wiederholt halt leider nicht! ;)
.da sagt er mir wieder das die Variable "Eingabe" gar nicht definiert ist Ist aber eine Warnung und kein Fehler. Wenn du die Warnung nicht willst kannst du die Variable vor der do-while-Schleife deklarieren und initialisieren.
@ogi: Gib den output/input in die do-while schleife, dann wird das auch mitwiederholt. Wenn du nur die Switch-Verzweigung in der do-while Schleife hast wiederholt er auch nur die Switch-Verzweigung.
Gerhard @Gertschihard
Wirtschaftsingenieur... · Technische Universit...
Ich habs geschafft...wo steigst denn aus? ;) Bin zwar selber blutiger Beginner...aber vl kann ich dir helfen! ;) Prinzipiell hab ich das Beispiel aus While-Schleifen aufgebaut...mit Zählern die je nachdem wieviele Reihen/Spalten du hast herunterzählen und somit dann zum richtigen Ergebnis führen. Für die erste und die letzte "Symbolzeile" musst du dir denke ich 2mal die Variable, welche die Spaltenzahl vorgibt wegkopieren...dann sollte das eigentlich hinhauen.