sp0x Geschrieben 12. Juli 2010 Geschrieben 12. Juli 2010 Hallo alle zusammen, bräuchte eure Hilfe. Es geht darum das ich ein Taschenrechner programmieren sollte über Eclipse in Java. (Laut meinem Ausbilder). Ich hab es hinbekommen den Taschenrechner zu programmieren. Jetzt aber habe ich eine neue Aufgabe gestellt bekommen die wie folgt lautet: Es soll möglich sein, mehr als 2 Zahlen einzugeben. Der Benutzer soll dabei bestimmen, wieviele Zahlen er verwenden will. Das Maximum soll 5 sein. Dann hat er mir zur Hilfe einen Link hinzugefügt mit dem ich selbst aber nichts anfangen kann. Ich will ihn auch nicht unnötig nerven mit fragen schließlich muss ich das ja selbst lösen. Den Link bekommt ihr auch gleich dazu: Kapitel 15 — Schleifen So und nun poste ich euch noch mein aktuelles Programm rein: import java.io.BufferedReader; import java.lang.Math; import java.io.IOException; import java.io.InputStreamReader; public class Taschenrechner { private static final BufferedReader in = null; public static void main(String[] args) { System.out.println ("Taschenrechner Denis Suppes"); System.out.println ("Bitte wählen Sie die Rechenart:"); // System.out.println ("1 für Subtraktion"); System.out.println ("2 für Addition"); System.out.println ("3 für Multiplikation"); System.out.println ("4 für Division"); try { BufferedReader in = new BufferedReader(new InputStreamReader( System.in ) ); int Auswahl = Integer.parseInt(in.readLine()); switch (Auswahl) { case 1 : System.out.println ("Sie haben sich für die Subtraktion entschieden."); break; case 2 : System.out.println ("Sie haben sich für die Addition entschieden."); break; case 3 : System.out.println ("Sie haben sich für die Multiplikation entschieden"); break; case 4: System.out.println ("Sie haben sich für die Division entschieden"); break; default : System.out.println ("Konnte nicht gefunden werden"); } System.out.println ("Bitte geben Sie 2 Zahlen ein:"); double eingabe_1 = Integer.parseInt(in.readLine()); double eingabe_2 = Integer.parseInt(in.readLine()); switch (Auswahl) { case 1 : System.out.println ( eingabe_1 + "-" + eingabe_2 + "=" + Math.round (eingabe_1 - eingabe_2)); break; case 2: System.out.println (eingabe_1 + "+" + eingabe_2 + "=" + Math.round (eingabe_1 + eingabe_2)); break; case 3 : System.out.println (eingabe_1 + "*" + eingabe_2 + "=" + Math.round (eingabe_1 * eingabe_2)); break; case 4 : System.out.println (eingabe_1 + "/" + eingabe_1 + "=" + (eingabe_1/ eingabe_2)); break; } } catch( IOException ex ) { System.out.println (ex.getMessage() ); } } } Wäre wirklich nett von euch wenn Ihr mir helfen könnten. Was will der Ausbilder genau mit der Seite bezeichnen und wie stell ich das ein? Was hat das mit dem "while" zu tun? Vielen Dank für eure Hilfe! gruß Spox Zitieren
Ulfmann Geschrieben 12. Juli 2010 Geschrieben 12. Juli 2010 System.out.println ("Bitte geben Sie 2 Zahlen ein:"); double eingabe_1 = Integer.parseInt(in.readLine()); double eingabe_2 = Integer.parseInt(in.readLine()); Du veranlasst den Benutzer an dieser Stelle 2 Zahlen einzugeben. Probier es doch mal mit 3, dann 4, dann 5 und vielleicht weißt du zur Laufzeit noch gar nicht, wieviele Zahlen der Benutzer addieren will. Der Benutzer muss also solange Zahlen eingeben, bis eine Maximalanzahl erreicht ist oder er keinen Bock mehr hat. 5 soll erstmal Maximum sein. Du könntest obige Zeile 5x tippen, aber damit kommst du bald nicht mehr weiter. Eine While-Schleife läuft solange, bis eine Bedingung nicht mehr erfüllt ist. Zitieren
T3D Geschrieben 12. Juli 2010 Geschrieben 12. Juli 2010 hast du dir einmal angeguckt was eine schleife macht? und wozu man sie evtl gebrauchen kann? ich kann dir auch noch Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 2.7 Schleifen empfehlen... einfach mal durchlesen, drueber nachdenken und ausprobieren Ted Zitieren
Ulfmann Geschrieben 12. Juli 2010 Geschrieben 12. Juli 2010 Ergänzend arbeite vielleicht auch noch dieses Kapitel durch. Anschließend gibts dazu auch noch kleine Programmieraufgaben. Zitieren
sp0x Geschrieben 13. Juli 2010 Autor Geschrieben 13. Juli 2010 Danke erst mal für die schnellen Antworten. Uff da hab ich wohl viel zu lesen vor mir. Ich muss das bis nächste woche hingekommen aber mal schauen was sich machen lässt das heisst dann wohl länger arbeiten . Naja Danke euch wenn ich nicht mehr weiter kommen sollte dann sag ich bescheid. Gruß Sp0x Zitieren
sp0x Geschrieben 13. Juli 2010 Autor Geschrieben 13. Juli 2010 Also bin seit heute morgen schon drann, und komm einfach nicht weiter . Habt ihr noch n kleinen tipp. import java.io.BufferedReader; import java.lang.Math; import java.io.IOException; import java.io.InputStreamReader; public class testit { private static final BufferedReader in = null; public static void main(String[] args) { System.out.println ("Taschenrechner Denis Suppes"); System.out.println ("Bitte wählen Sie die Rechenart:"); // System.out.println ("1 für Subtraktion"); System.out.println ("2 für Addition"); System.out.println ("3 für Multiplikation"); System.out.println ("4 für Division"); try { BufferedReader in = new BufferedReader(new InputStreamReader( System.in ) ); int Auswahl = Integer.parseInt(in.readLine()); switch (Auswahl) { case 1 : System.out.println ("Sie haben sich für die Subtraktion entschieden."); break; case 2 : System.out.println ("Sie haben sich für die Addition entschieden."); break; case 3 : System.out.println ("Sie haben sich für die Multiplikation entschieden"); break; case 4: System.out.println ("Sie haben sich für die Division entschieden"); break; default : System.out.println ("Konnte nicht gefunden werden"); } System.out.println( "Geben Sie ein wie viele Zahlen Sie berechnen wollen:" ); int zaehler = 1; int anzahl = Integer.parseInt( in.readLine() ); if (anzahl >=2 && anzahl <=5) //hier stimmts oder nicht ? { while (anzahl == 2 ) //keine ahnung ob das richtig ist System.out.println ("Bitte geben Sie die 1. zahl ein:" + ??? ); while (anzahl == 2 ) System.out.println ("Bitte geben Sie die 2. zahl ein:" + ???? ); { System.out.println ("Nö"); } } else System.out.println ("Es sind zu wenig oder zu viele Zahlen."); } catch( IOException ex ) { System.out.println (ex.getMessage() ); } } } Zitieren
Ulfmann Geschrieben 13. Juli 2010 Geschrieben 13. Juli 2010 if (anzahl >=2 && anzahl <=5) //hier stimmts oder nicht ? { while (anzahl == 2 ) //keine ahnung ob das richtig ist System.out.println ("Bitte geben Sie die 1. zahl ein:" + ??? ); while (anzahl == 2 ) System.out.println ("Bitte geben Sie die 2. zahl ein:" + ???? ); { System.out.println ("Nö"); } } Dieser Codeblock ist völlig falsch. Du baust 2 Schleifen ein, die das gleiche prüfen. Anschließend folgt ein Codeblock, der quasi "nirgends zu gehört" und immer ausgeführt wird. Fang mal oben neu an. Du benötigst nur eine Schleife, in der du prüfst, wieviele Zahlen schon eingegeben wurden - d. h. du musst mitzählen (also zählvariable deklarieren und aus dem if ein while machen). Im ersten Durchlauf liest du nun eine Zahl ein und speicherst diese (ggf. schau dir erstmal das Array an). Ist die erste Zahl eingelesen und abgespeichert, zählst du deinen Zähler um 1 hoch und die Schleife beginnt von Neuem - und zwar solange bis dein Zähler gleich der gewünschten Zahleneingabe ist. while (counter < anzahl) { //das oben Beschriebene //counter++; } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.