zlaja03 Geschrieben 22. Mai 2009 Teilen Geschrieben 22. Mai 2009 Hi an alle, ich habe ein kleines Problem mit der programmierung eines 4 tasten taschenrechner! - eine taste soll die zahl inkrementieren - eine taste soll die zahl dekrementieren - eine taste soll reseten - und eine soll rechenoperation ausführen ich glaub mit den ersten drei schritten sollte es kein problem geben leider weiss ich nicht genau wie ich die rechenoperationen ausführen soll! hab versucht eine code einzugeben und ich weiss nicht woran es liegt das es nicht klappt! hoffe jemand kann mir was dazu sagen gruß // Einbinden der Javelin-Klassen. import stamp.core.*; // Einbinden der Klasse "LCD-Terminal". // ACHTUNG: GGF. LIBRARY-PFAD DER "JAVELIN STAMP IDE" ANPASSEN. import LCDTerminal; public class taschenrechner{ // Objekt "LCD-Display" definieren. // Initialisiert zugleich das Display. static LCDTerminal LCDDisplay = new LCDTerminal(); // Statusvariable der Taste an Pin4 Pin5 Pin6 definieren. static boolean statusP7, statusP6, statusP5, statusP4 = false; // Tasten definieren ("false" gibt den logischen // Zustand bei nichtgedrueckter Taste wieder). static Button TasteP4 = new Buttin(CPU.pin4, false); static Button TasteP7 = new Button(CPU.pin7, false); static Button TasteP5 = new Button(CPU.pin5, false); static Button TasteP6 = new Button(CPU.pin6, false); // Hauptroutine. public static void main(){ int count = 0 ; // Endlosschleife while (true) { // Warten auf Tastendruck while (!ButtonTest()) { } // Display loeschen (und bewegen des Cursors in erste Zeile Position 0). LCDDisplay.clearScr(); //Abfrage ob Taste 5 gedrueckt wurde if (statusP5) { //decrease count = count - 1; //Statusvariable zurücksetzen statusP5 = false; } //Abfrage ob Taste 4 gedrueckt wurde if (statusP4) { //increase count = count + 1; //Statusvariable zurücksetzen statusP4= false; } //Abfrage ob Taste 6 gedrueckt wurde if (statusP6) { //reset count = 0; //Statusvariable zurücksetzen statusP6= false; } /** * Eingabe der Rechenmethode */ /** * Überprüfung ob Division durch 0 gewünscht. */ if(StringOper.equals(":")&&zahlDblB.equals(0.0)) System.out.println("Division durch \"0\" nicht möglich."); else { //Abfrage ob Taste 7 gedrueckt wurde if (statusP7) { System.out.println("Addieren(+) / Subtrahieren(-) / Multiplizieren(*) / Dividieren( / ?"); String StringOper = eingabe("[-:\\*\\+]*"); System.out.println("Das Ergebnis ist:"); if(StringOper.equals("+")) System.out.println(zahlDblA + zahlDblB); else if(StringOper.equals("-")) System.out.println(zahlDblA - zahlDblB); else if(StringOper.equals("*")) System.out.println(zahlDblA * zahlDblB); else if(StringOper.equals(":")) System.out.println(zahlDblA / zahlDblB); else statusP7= false; } } // Ausgabe an aktueller Position des Cursors. LCDDisplay.write(Integer.toString(count)); } } /** * Testet ob Taste gedrueckt wurde. * * @return logischer Wert, ob Taste gedrueckt wurde */ static boolean ButtonTest(){ if (TasteP4.buttonDown()) { statusP4 = true; return true; } if (TasteP7.buttonDown()) { statusP7 = true; return true; } if (TasteP5.buttonDown()) { statusP5 = true; return true; } if (TasteP6.buttonDown()) { statusP6 = true; return true; } return false; } }[/code] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AndiE Geschrieben 22. Mai 2009 Teilen Geschrieben 22. Mai 2009 Hi, du mußt die Zahlen deklarieren und ihnen den count zuweisen. Außerdem solltest du dir mal dir "Akku"-Technik (CPU) ansehen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.