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
erstmal danke für die Programme :)
wenn ich aber beim zweiten Beispiel alles genau so schreibe wie du, und ich am Schluss auf testen gehe, gibt mir das Programm immer folgendes aus:
Symbol z.B: "+" Reihen: 5 Spalten: 7
+++++++ ++ ++ ++ +++++++
egal wie viele Spalten ich eingebe, im Mittelfeld bleiben immer nur zwei "+" stehen. hab schon alles mögliche ausprobiert um das zu beheben, aber ich komm net drauf :/
irgendwelche Lösungsvorschläge?
lg
erstmal danke für die Programme :)
wenn ich aber beim zweiten Beispiel alles genau so schreibe wie du, und ich am Schluss auf testen gehe, gibt mir das Programm immer folgendes aus:
Symbol z.B: "+" Reihen: 5 Spalten: 7
+++++++ ++ ++ ++ +++++++
egal wie viele Spalten ich eingebe, im Mittelfeld bleiben immer nur zwei "+" stehen. hab schon alles mögliche ausprobiert um das zu beheben, aber ich komm net drauf :/
irgendwelche Lösungsvorschläge?
lg Wenn du es genau so schreibst wie Risba funktioniert es. Poste den ganzen Code.
Hier der ganze code ;)
public class Bsp2 {
public static void main(String[] args) {
System.out.println("Bitte geben Sie das gewünschte Symbol an:");
Scanner sc_symbol = new Scanner(System.in);
char symbol = sc_symbol.next().charAt(0);
System.out.println("Bitte geben Sie die Anzahl der Reihen an:");
Scanner sc_reihen = new Scanner(System.in);
int reihen = sc_reihen.nextInt();
System.out.println("Bitte geben Sie die Anzahl der Spalten an:");
Scanner sc_spalten = new Scanner(System.in);
int spalten = sc_spalten.nextInt();
int reihen_variable = reihen;
int spalten_variable = spalten;
while(reihen_variable>0)
{
if(reihen_variable==reihen|| reihen_variable==1)
{
while(spalten_variable>0)
{
System.out.print(symbol);
spalten_variable--;
}
System.out.println();
spalten_variable=spalten;
}
else
{
while(spalten_variable>0)
{
if(spalten_variable==1||spalten_variable==spalten)
{
System.out.print(symbol);
}
else
{
System.out.print("");
}
spalten_variable--;
}
System.out.println();
spalten_variable = spalten;
}
reihen_variable--;
}
}
}
ahh jz hab ichs, danke :)
und noch ne kurze frage, beim Bsp 3, wie updatet man auf JDK7?
ich hab mir jetzt die neueste Version (7.3) heruntergeladen und installiert. Wie schaff ich das dann das 3-te Beispiel funktioniert?
ahh jz hab ichs, danke :)
und noch ne kurze frage, beim Bsp 3, wie updatet man auf JDK7?
ich hab mir jetzt die neueste Version (7.3) heruntergeladen und installiert. Wie schaff ich das dann das 3-te Beispiel funktioniert? Per Google oder Bing auf der Oracleseite JDK7 suchen und installieren, ggf. JDK6 vorher deinstallieren. Netbeans hat nichts mit JDK zu tun, bietet sich allerdings an da es auf der Oracleseite beides im Bundle gibt.
Ich bin mir allerdings nicht sicher bin ob man es mit JDK7 bzw. switch(STRING) lösen darf, würde im zweifelsfall ne Mail schreiben.
Per Google oder Bing auf der Oracleseite JDK7 suchen und installieren, ggf. JDK6 vorher deinstallieren. Netbeans hat nichts mit JDK zu tun, bietet sich allerdings an da es auf der Oracleseite beides im Bundle gibt.
Ich bin mir allerdings nicht sicher bin ob man es mit JDK7 bzw. switch(STRING) lösen darf, würde im zweifelsfall ne Mail schreiben.
Ok vielen Dank! :) werd mich mal umsehen oder vl ne andere lösung für das beispiel 3 probieren.
An Risba
Bei deinem 2. Beispiel. Verstehe ich das Programm insofern richtig?
Er springt in der Whileschleife solang wieder nach oben bis man X eingibt. Dann geht er einen Schritt weiter zu der Zeile: "Wiederholen = false; break;"
Dann geht er wieder hinauf und beim boolean überprüfen ist die Variable diesmal falsch und nicht wahr und deswegen beendet er die Schleife.
Stimmt das so?
@nigel: Ich bin mir sehr sicher, dass man es mit JDK7 lösen darf. Aus 2 Gründen: 1.) Der Vortragende verwendet switch(string) in den Vorlesungsfolien zur 2. Vorlesung. 2.) Es wäre sehr ineffizient, wenn man Beispiele nur mit veralteten Versionen lösen so
mein 1. Bsp:
Scanner eing = new Scanner(System.in); int anz, i; String texti; System.out.print("Wie viele Wiederholungen? "); anz = eing.nextInt(); System.out.print("Welcher Text? "); texti = eing.next(); System.out.println("-----------------------------------------------------\n"); for(i=0; i<anz; i++){ System.out.println(texti); }
texti = eing.next();
Das würd ich mir noch einmal ansehen. next() geht nur bis zum Leerzeichen d.h. du kannst keine Sätze wiederholen sondern nur Worte.
Björn @Risba
Maschinenbau · Technische Universit...
Hallo alle, also hier sind meine 3 Programme. Aus meiner Sicht machen, alle Programme das, was sie sollen. Wobei ich anmerken möchte, dass man bei meinem Beispiel 3 auf JDK7 updaten muss. Ich versteh aber generell nicht, warum auf Tuwel eine ältere Version zum download angeboten wird. Falls jemand einen Fehler findet, freue ich mich, wenn er es mir mitteilt.
1.Programm: import java.util.*;
public class Bsp1_1027755_1 { public static void main (String args []) { System.out.println("Bitte geben Sie die Anzahl der Wiederholungen an: "); // Hier wird die Anzahl der Wiederholungen abgefragt. Scanner sc_anzahl = new Scanner(System.in); int anzahl =sc_anzahl.nextInt();
}
2.Programm: import java.util.*;
public class Bsp2_1027755_1 { public static void main (String Args[]) { //Hier wird das Symbol abgefragt. System.out.println("Bitte geben Sie das gewünschte Symbol an :"); Scanner sc_symbol = new Scanner(System.in); char symbol = sc_symbol.next().charAt(0);
}
3.Programm import java.util.*;
public class Bsp3_1027755_1 { public static void main(String args[]) { //Hier wird eine boolean Variable für die while Schleife definiert. boolean wiederholen = true; while(wiederholen) { //Das Begrüßungsmenü. System.out.println("Willkommen im Begrüßungsmenü! " + "\nBitte wählen Sie einen Menüpunkt:" + "\n(D) Deutsch" + "\n(E) Englisch" + "\n(F) Französisch" + "\n(I) Italienisch" + "\n(X) Beenden"); //Hier wird eine Antwort abgefragt. Scanner sc_eingabe = new Scanner(System.in); String eingabe = sc_eingabe.nextLine();
}
LG Risba