Java89 Geschrieben 19. April 2010 Geschrieben 19. April 2010 Hallo liebes Fachinformatiker-Forum, ich moechte aus eigener Interesse ein bisschen Java lernen. Ich habe mit einem kleinen Taschenrechner angefangen. (naja...Taschenrechner kann man das nicht nennen ). Er funktioniert auch, dass ist ein Erfolg für einen Anfaenger. So, nun moechte ich den naechsten Schritt wagen. Ich moechte Zwischenergebnisse speichern koennen und mit anderen Ergebnissen addieren, dividieren... etc. Ich habe bei einer bestimmten Suchmaschine deren Name ich nicht nennen moechte. java schleife, taschenrechner java, schleife taschenrechner java etc. eingeben, da kamen zwar Ergebnisse, aber ich habe diese nicht richtig verstanden. ... Koenntet Ihr mir vielleicht weiterhelfen. Dies ist mein sogenannter Taschenrechner: package rechnerw; /** * * @author su */ public class Main { public static void main(String[] args) { float a=0; float b=0; float c=0; int menu=0; int foo; System.out.println("Bitte waehlen Sie eine der folgenden Rechenarten aus:"); System.out.println("1 fuer Addition:"); System.out.println("2 fuer Subtraktion:"); System.out.println("3 fuer Multiplikation:"); System.out.println("4 fuer Division:"); menu=(int) TextIO.getlnInt(); if (menu==1) { System.out.println("Sie haben sich fuer die Addition entschieden:"); System.out.println("Bitte geben Sie den ersten Wert ein."); a=(float) TextIO.getlnFloat(); System.out.println("Bitte geben Sie nun den zweiten Wert ein."); b=(float) TextIO.getlnFloat(); c=a+b; System.out.println("Die Summe betraegt:" + c); } if (menu==2) { System.out.println("Sie haben sich fuer die Subtraktion entschieden:"); System.out.println("Bitte geben Sie den ersten Wert ein."); a=(float) TextIO.getlnFloat(); System.out.println("Bitte geben Sie nun den zweiten Wert ein."); b=(float) TextIO.getlnFloat(); c=a-b; System.out.println("Die Differenz betraegt:" + c); } if (menu==3) { System.out.println("Sie haben sich fuer die Multiplikation entschieden:"); System.out.println("Bitte geben Sie den ersten Wert ein."); a=(float) TextIO.getlnFloat(); System.out.println("Bitte geben Sie nun den zweiten Wert ein."); b=(float) TextIO.getlnFloat(); c=a*b; System.out.println("Das Produkt betraegt:" + c); } if (menu==4) { System.out.println("Sie haben sich fuer die Division entschieden:"); System.out.println("Bitte geben Sie den ersten Wert ein."); a=(float) TextIO.getlnFloat(); System.out.println("Bitte geben Sie nun den zweiten Wert ein."); b=(float) TextIO.getlnFloat(); c=a/b; System.out.println("Der Quotient betraegt:" + c); } System.out.println("Bitte druecken Sie die Enter-Taste um das Programm zu beenden."); foo=(int) TextIO.getlnInt(); } } MFG Java89 Zitieren
lupo49 Geschrieben 19. April 2010 Geschrieben 19. April 2010 Bevor du weitermachst würde ich dir empfehlen, dich einmal mit den Grundlagen der OOP zu beschäftigen. Dein bisheriges Programm ist nicht gerade vorteilhaft aufgebaut (Kohäsion (Informatik) ? Wikipedia). Zitieren
flashpixx Geschrieben 19. April 2010 Geschrieben 19. April 2010 Ich will hier nur mal den Hinweis geben, dass Du bei dieser Art des Herangehens die mathematische Definition aushebelst, d.h. bei Dir wird Punkt-vor-Strichrechnung nicht funktionieren Zitieren
Java89 Geschrieben 19. April 2010 Autor Geschrieben 19. April 2010 Puuuhhhhh ich danke euch beiden. Ich schau mir mal die Links an und durchstöber diese. MFG Java89 Zitieren
U-- °LoneWolf° Geschrieben 20. April 2010 Geschrieben 20. April 2010 hi also für mcih sieht es so aus als wollte er den einstieg in die programmierung finden ... da ist oop zwar wichtig aber zuerst sollte er doch mal lernen was ein befehl/ funktion.../, if anweisung, schleife usw. ist den ohne die sachen zu kennen kann man sich tolle konstruckte überlegene aber einen prozess entwickeln hm ... du solltest dir meiner einschätzung nach einfach mal das thema schleifen in java ansehen. damit du dir selbst einen prozess ausdenkst setz dich doch einfach mal mit deinem taschenrechner, am besten ein ganz einfacher der keine kompletten rechenoperattionen berücksichtigt hin und führe damit genau das aus was du entwickeln möchtest. schreibe dir jeden schritt auf und wenn du das thema schleiofen durch hast findest du eine lösung da bin ich ganz sicher. Zitieren
dr1nk Geschrieben 21. April 2010 Geschrieben 21. April 2010 (bearbeitet) Ist eigentlich ganz einfach was du vorhast... du benötigst eine do-while schleife. die sieht dann ca so aus: do{ ... ... }while(auswahl != 'x') diese schleife läuft einmal komplett durch (du kannst also deine switch anweisung hier reinschreiben und sie läuft einmal komplett durch). dann fragst du den benutzer, ob er addieren, subtrahieren etc. möchte. möchte er das nicht(!) mehr soll er "x" eingeben (deswegen "auswahl ist ungleich x" - also "mach das, während auswahl nicht x" ist). Wenn der benutzer dann doch eingibst kannst du noch einen netten abschiedstext schreiben x muss übrigens als char oder string deklariert werden. anstelle von x kannst du aber auch 5,6,7 oder irgendeinen int wert nehmen. hoffe ich konnte dir helfen, wenn nicht - schreib mir ne pm //edit: sry, hab mich verguckt. du hast garkeine switch-anweisung. die solltest du aber benutzen! die machst du so: switch(menu) case 1: //addieren oder so break; case2: //subtrahieren oder so break; default: //bei falscher eingabe wird dieser case benutzt. break; deine werte für a,b und c solltest du dir vorher holen und nicht erst in deiner switch-anweisung, oder deinem if-bedingen. das sorgt für ordnung und erspart dir nen paar zeilen. Bearbeitet 21. April 2010 von dr1nk Zitieren
Java89 Geschrieben 23. April 2010 Autor Geschrieben 23. April 2010 (bearbeitet) Ich danke euch beiden. Ich werde mal ein bisschen rumtesten und ausprobieren. MFG Java89 Bearbeitet 23. April 2010 von Java89 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.