Dieser Artikel teilt die Funktionen von Java, die einen einfachen Taschenrechner implementieren. Der spezifische Inhalt ist wie folgt
Thema:
Schreiben Sie ein Programm, das einen Taschenrechner simuliert. Fügen Sie dem Bedienfeld ein Textfeld hinzu (Anzeigen von Schlüsseln und Berechnungsergebnissen).
10 numerische Schaltflächen (0 ~ 9), 4 Betriebstasten (hinzufügen, subtrahieren, multiplizieren, dividieren), eine gleiche Schaltfläche gleicher Zeichen und eine Klarungstaste.
Erfordert, dass die Schlüssel und Ergebnisse im Textfeld angezeigt werden.
Codeprozessanzeige:
importieren java.awt.container; import java.awt.flowlayout; import Java.awt.gridlayout; import Java.awt.event.ActionEvent; javax.swing.jtextfield; public class -Übung1 erweitert JFrame implementiert actionListener {private jpanel p1 = new jpanel (); // Panel private jpanel p2 = new jpanel (); // Panel Private JTextField T1 erstellen; // Textfeld 1 wird verwendet, um Eingabeinformationen StringBuffer Str; // Eingabe String Jbutton [] B = neuer Jbutton [10]; Jbutton B1, B2, B3, B4, B5, B6; // 16 Tasten Doppel x, y; int n; public Sports1 () {Super ("Fake Captain's Big Goal"); SetSize (350.300); // Setzen Sie die Fenstergröße SetLocationRelativeto (NULL); // Zeigen Sie dem mittleren Container c = getContentPane (); // Erstellen Sie das Content -Panel -Objekt t1 = new JTextField (25); t1.Seeteditable (falsch); // nur anzeigen, p2.add (t1); // Textfelder zum Panel P2.SetLayout (neuer GridLayout (3,2)) hinzufügen; // Layout des Gesichts zu 4 Zeilen und 1 Spalte str = new StringBuffer (); // Instanz jede Taste für (int i = 0; i <10; i ++) // Labels für Schaltflächen 0 ~ 9 im Array einstellen und den Listener {String S = ""+i; B [i] = neuer Jbutton (s); B [i] .AddactionListener (dies); } B1 = neuer Jbutton ("+"); B2 = neuer Jbutton ("-"); B3 = neuer Jbutton ("*"); B4 = neuer Jbutton ("/"); B5 = neuer Jbutton ("="); B6 = neuer Jbutton ("delete"); // Hinzufügen zu Panel P1.ADD (B [7]); p1.add (b [8]); p1.add (b [9]); p1.add (b1); p1.add (b [4]); p1.add (b [5]); p1.add (b [6]); p1.add (b2); p1.add (b [1]); p1.add (b [2]); p1.add (b [3]); p1.add (b3); p1.add (b [0]); p1.add (b5); p1.add (b6); p1.add (b4); P1.SetLayout (neuer GridLayout (4,5,10,10)); // Registrieren Sie den Listener b1.addactionListener (this); B2.AddactionListener (dies); B3.AddactionListener (dies); B4.AddactionListener (dies); B5.AddactionListener (dies); B6.AddactionListener (dies); // Fügen Sie den Inhalt dem Panel hinzu und fügen Sie dem Container C.Add (P2) hinzu; C.Add (P1); C.SetLayout (neuer FlowLayout ()); // auf sequentielles Layout einstellen // Fenster schließen Aktion SetDefaultCloseOperation (jframe.exit_on_close); // Fenster schließen Aktion setvisible (true); // auf sichtbares SetResizable (falsch) eingestellt; // Rahmengröße ist verboten} public static void main (String [] args) {// Todo automatisch generierte Methode Stub @SuppressWarnings ("nicht verwendet") Übung1 Calculate = new Training1 (); } @Override public void actionperformed (actionEvent e) {// Todo automatisch generierter Methode Stub if (e.getSource () == B6) {t1.settext ("0"); // Clear t1.Sethorizontalalignment (JTextField.Right); // rechts ausgerichtet Str.SetLength (0); } //Double.Parsedouble konvertiert den String in doppelte Typ //t1.getText (). TRIM () Erhalten Sie das Zeichen und löscht else, wenn (e.getSource () == b1) // Klicken Sie auf den Plus -Taste, um den Wert von x zu löschen und den Wert von y {x = doppelt. Str.SetLength (0); y = 0d; n = 0; } else if (e.getSource () == B2) // Subtraktionsvorgang {x = double.ParSeDoUble (t1.GeteText (). TRIM ()); Str.SetLength (0); y = 0d; n = 1; } else if (e.getSource () == b3) // multiple operation {x = double.parseDouble (t1.getText (). trim ()); Str.SetLength (0); y = 0d; n = 2; } else if (e.getSource () == b4) // Divide Operation {x = double.ParSeDoUble (t1.getText (). trim ()); Str.SetLength (0); y = 0d; n = 3; } else if (e.getSource () == b5) // Equal Sign {Str.setLength (0); Switch (n) {case 0: t1.setText (""+(x+y)); break; Fall 1: t1.setText (""+(xy)); Break; Fall 2: t1.setText (""+(x*y)); Break; Fall 3: t1.setText (""+(x/y)); Break; }} else {if (e.getSource () == b [0]) {if (t1.getText (). trim (). Equals ("0") // Wenn die Anzeige Null ist, betreibt {} else t1.setText (Str.Append (e.getActionCommand) nicht. ToString (); t1.sethorizontalalignment (jtextfield.right); y = double.Parsedouble (t1.GeteText (). trim ()); } else {t1.setText (str.append (e.getActionCommand ()). toString ()); t1.sethorizontalalignment (jtextfield.right); y = double.Parsedouble (t1.GeteText (). trim ()); }}}}Zusammenfassung: Der Code ist etwas lang, aber nach echtem Verständnis nicht kompliziert. Dies ist natürlich nur ein einfacher Simulationsrechner.
Andere Funktionen können auch hinzugefügt werden. Zum Beispiel exponentielle Vorgänge, Exponentoperationen, quadratische Operationen oder um die Schnittstelle schön zu machen,
Fügen Sie ein Ergebnis -Textfeld hinzu, wobei die oben angezeigte Nummer und das unten angezeigte Ergebnis angezeigt wird. Um so viel zu sagen, hängt es immer noch davon ab, dass die Leser es selbst studieren.
Alle oben genannten sind der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.