Dieser Artikel beschreibt die von Java implementierten Taschenrechnerfunktionen. Teilen Sie es für Ihre Referenz wie folgt weiter:
Paket awtdemo; import java.awt.borderlayout; import Java.awt.color; import Java.awt.gridlayout; Import Java.awt.event.ActionEvent; Import Java.awt.Event.ActionListener; Import.jbutton; javax.swing.JTextField;@SuppressWarnings("serial")public class Calculator extends JFrame implements ActionListener { private final String[] KEYS = { "7", "8", "9", "/", "sqrt", "4", "5", "6", "*", "%", "1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "="}; private final String [] command = {"Backspace", "CE", "C"}; Private Jbutton Keys [] = new Jbutton [Keys.Length]; Private Jbutton Commands [] = new Jbutton [Befehl.Length]; private jTextField resultText = new JTextField ("0"); private boolean firstDigit = true; privates doppeltes Ergebnis = 0,0; private String operator = "="; private boolean operatorValidflag = true; public calculator () {init (); this.setbackground (color.light_gray); this.settitle ("www.vevb.com - Rechner"); this.Setlocation (500, 300); this.setResizable (falsch); this.pack (); } private void init () {resultText.sethorizontalalignment (jTextField.Right); resultText.setedable (false); resultText.setbackground (color.white); Jpanel ccCCeyspanel = new Jpanel (); CCCCNEYSPANEL.SETLAYOUT (neuer GridLayout (4, 5, 3, 3)); für (int i = 0; i <keys.length; i ++) {keys [i] = new Jbutton (Schlüssel [i]); CCCCCEYSPANEL.ADD (Schlüssel [i]); Schlüssel [i] .setforenground (color.blue); } Keys [3] .setforenground (color.red); Schlüssel [8] .setforenground (color.red); Schlüssel [13] .setforenground (color.red); Schlüssel [18] .Setforenground (color.red); Keys [19] .Setforenground (color.red); Jpanel commandSpanel = new jpanel (); commandspanel.setLayout (neuer GridLayout (1, 3, 3, 3)); für (int i = 0; i <command.length; i ++) {Befehle [i] = new Jbutton (Befehl [i]); commandspanel.add (Befehle [i]); Befehle [i] .setforenground (color.red); } Jpanel panel1 = new jpanel (); Panel1.SetLayout (New BorderLayout (3, 3)); Panel1.Add ("North", CommandSpanel); panel1.add ("west", ccCCKeyspanel); Jpanel top = new jpanel (); top.setLayout (neuer BorderLayout ()); top.add ("center", resultText); getContentPane (). setLayout (neuer BorderLayout (3, 5)); getContentPane (). add ("nördlich", oben); getContentPane (). add ("center", panel1); für (int i = 0; i <keys.length; i ++) {keys [i] .addactionListener (this); } für (int i = 0; i <command.length; i ++) {commands [i] .AdActionListener (this); }} public void actionPerformed (actionEvent e) {String label = e.getActionCommand (); if (label.equals (Befehl [0])) {realbackspace (); } else if (label.equals (Befehl [1]) {resultText.setText ("0"); } else if (label.equals (Befehl [2])) {Handlec (); } else if ("0123456789.". Indexof (Label)> = 0) {Handlenumber (Label); } else {Handleoperator (Label); }} private void realbackspace () {String text = resultText.getText (); int i = text.length (); if (i> 0) {text = text.substring (0, i - 1); if (text.length () == 0) {resultText.setText ("0"); firstDigit = true; operator = "="; } else {resultText.setText (text); }}} private void Handlenumber (String -Schlüssel) {if (firstDigit) {resultText.setText (Key); } else if ((key.equals (".")) && (resultText.getText (). indexof (".") <0)) {resultText.setText (resultText.Getext () + "."); } else if (! key.equals (".")) {resultText.setText (resultText.getText () + key); } firstDigit = false; } private void handlec () {resultText.setText ("0"); firstDigit = true; operator = "="; } private void handleoperator (String -Schlüssel) {if (operator.equals ("/") {if (GetNumberFromtext () == 0.0) {operatorValidflag = false; resultText.setText ("Scheidung kann nicht null sein"); } else {resultNum /= getNumberFromText (); }} else if (operator.equals ("1/x") {if (resultNum == 0.0) {operatorValidflag = false; resultText.setText ("Zero hat keinen wechselseitigen"); } else {resultNum = 1 / resultNum; }} else if (operator.equals (" +")) {resultNum += getNumberFromtext (); } else if (operator.equals (" -")) {resultNum -= GetNumberFromText (); } else if (operator.equals (" *") {resultNum *= getNumberFromtext (); } else if (operator.equals (" *") {resultNum *= getNumberFromtext (); } else if (operator.equals (" *") {resultNum *= getNumberFromtext (); } else if (operator.equals (" *") {resultNum *= getNumberFromtext (); } else if (operator.equals ("sqrt")) {resultNum = math.sqrt (resultNum); } else if (operator.equals ("%") {resultNum = resultNum / 100; } else if (operator.equals ("+/-")) {resultNum = resultNum * (-1); } else if (operator.equals ("=")) {resultNum = getNumberFromtext (); } if (operationValidflag) {long t1; Doppel T2; T1 = (lang) Ergebnis; t2 = resultNum - t1; if (t2 == 0) {resultText.setText (string.Valueof (t1)); } else {resultText.setText (string.ValueOf (resultNum)); }} operator = key; firstDigit = true; operationValidflag = true; } private double getNumberFromtext () {double result = 0; try {result = double.ValueOf (resultText.getText ()). DoubleValue (); } catch (numberFormatexception e) {} Rückgabeergebnis; } public static void main (String args []) {Calculator Calculate1 = neuer Calculator (); calculate1.setvisible (true); calculate1.setDefaultCloseOperation (jframe.exit_on_close); }}Laufeffekt:
PS: Hier sind einige Berechnungswerkzeuge, auf die Sie sich beziehen können:
Online -Berechnungsinstrument der Unarm Function (EQ) Lösung:
http://tools.vevb.com/jisuanqi/equ_jisuanqi
Online -Taschenrechner des Wissenschaftlichen Taschenrechners Online -Taschenrechner Online -Taschenrechner:
http://tools.vevb.com/jisuanqi/jsqkeexue
Online -Rechner_Standard Taschenrechner:
http://tools.vevb.com/jisuanqi/jsq
Für weitere Informationen zu Java -Algorithmen können Leser, die an dieser Website interessiert sind, die Themen "Java -Datenstruktur und Algorithmus -Tutorial", "Zusammenfassung der Java -Operation DOM -Knoten -Tipps", "Zusammenfassung der Java -Datei- und Verzeichnisoperationstipps" und "Zusammenfassung der Java -Cache -Operation Tipps" anzeigen
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.