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
Kann mir jemand erklären, wie ich bei Beispiel 1.2 mittel if/else erneut den BMI ausreche, bzw das Programm beende?
Du packst um das ganze Programm eine do-while schleife, wo am Ende im while-teil geprüft wird ob neu begonnen werden soll. Vor der Prüfung machst du eine Abfrage: Neustarten ja/nein. Wenn ja weißt du beispielsweise einer variable den wert 1 zu. im while-teil steht dann variable == 1 . Somit startet er neu. Wenn man Nein auswählt, wird der Variable der Wert 2 zugewießen, somit ist die do-while-bedingung nicht mehr erfüllt und er bricht ab.
Geht natürlich auch mit boolschen true/false Variablen.
Hier meine vollständige HÜ, hoffe es hilft wem. Wenn jemandem Fehler auffallen bitte mitteilen.
Btw. ohne Gewähr, hatte nicht die Zeit zur genauen Kontrolle.
Grüße Alex
- 7 Downloads Nur für Studenten!
@marko du hast bei beispiel 5 mit 210GPa gerechnet. ich glaube, richtig wäre aber 210E9.
Ich habe eine Frage zu Bsp 1.3: Das ist mein Quellcode
public static void main(String[] args) {
// TODO code application logic here
Scanner sc = new Scanner(System.in);
System.out.println("Geben Sie das Zeichen ein:");
String Zeichen = sc.nextLine();
System.out.println("Geben Sie die Anzahl der Zeilen ein:");
int Zeilenanzahl = sc.nextInt();
System.out.println("Geben Sie die Anzahl der Spalten ein:");
int Spaltenanzahl = sc.nextInt();
int i=0;
int j=0;
do{
do{
System.out.print(Zeichen);
i++;}
while(i<Spaltenanzahl);
System.out.println(Zeichen);
j++;}
while(j<Zeilenanzahl);
}
\n~~~
und das ist das Ergebnis des Programms:
Geben Sie das Zeichen ein:
C
Geben Sie die Anzahl der Zeilen ein:
3
Geben Sie die Anzahl der Spalten ein:
4
CCCCC
CC
CC
Kann mir jemand erklären, wo mein Fehler ist? Danke :)
Könnte mir jemand die Dateistruktur erklären? Zur Zeit sieht es bei mir so aus:
<default package>
- Bsp1_xxxx_1.java
pkgxxxx_1 -Main.java
Main.java ist bei mir unverändert und wurde beim erstellen des Projekts hinzugefügt, allerdings wird nun meine Bsp1 Datei nicht richtig ausgeführt. Wenn ich das Hakerl beim Erstellen des Projektes bei "Create Main Class" weggeben, bekomme ich dann beim Ausführen von Bsp1 die Fehlermeldung, dass er keine Main class findet. Wie funktioniert es richtig?
Edit: Ausführen funktioniert schon, jedoch nur mit Rechtsklick-Run und nicht mit F6 bzw. dem grünen Pfeil oben.. Ist das normal so?
sieht wer meine fehler? beim 3. bsp bei der do-while Schleife
mein code
public static void main(String[] args) {
System.out.println("Geben sie ein beliebiges Zeichen ein:")
Scanner sc = new Scanner (System.in);
String Zeichen = sc.nextLine();
System.out.println("Geben sie die Anzahl der Zeilen ein:");
int m = sc.nextInt();
System.out.println("Geben sie die Anzahl der Spalten ein:")
int n = sc.nextInt();
System.out.println("Sie erhalten:");
int y = 0, x = 0;
do{ y++;
do{System.out.print(Zeichen + " ");
x++;
}
while (x < n-1);
System.out.println(Zeichen);
} while (y < m);
}
}
\n~~~
und ich bekomme nur in der 1. Zeile die Richtigen Spalten:
run:
Geben sie ein beliebiges Zeichen ein:
2
Geben sie die Anzahl der Zeilen ein:
3
Geben sie die Anzahl der Spalten ein:
4
Sie erhalten:
2 2 2 2
2 2
BUILD SUCCESSFUL (total time: 3 seconds)
sieht wer meine fehler? beim 3. bsp bei der do-while Schleife
mein code
und ich bekomme nur in der 1. Zeile die Richtigen Spalten:
Du musst das x vor der inneren do/while Schleife auf 0 setzen! LG Michael
Wolfgang @WolfgangMaierhofer
Wirtschaftsingenieur... · Technische Universit...
Ich hab es so gemacht wie in der Angabekonvention.
Projekt erstellt und dann für jede Aufgabe immer eine neue JavaClass hinzugefügt. Sind im Netbeans alle unter <default packages> angeführt.