java中的计算器_Java版计算器

该博客介绍了一个Java实现的计算器程序,具备基本的数学运算功能,如加、减、乘、除、乘方和开方。用户界面包括数字按钮、运算符按钮以及清空和退格功能。程序能处理小数输入,并自动格式化。此外,当输入框为空时,输入0会自动添加小数点。
摘要由CSDN通过智能技术生成

java版的计算器

功能特点:

1.不接收键盘输入。

2.支持+、-、*、/、乘方和开方运算。

3.支持清除和退格。

4.可以显示运算表达式。

5.可以输入.5、-.5格式的小数,并在表达式中格式化为0.5、-0.5格式。

6.若输入框中无内容,输入0后自动补加小数点。

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JOptionPane;

/**

*

* @author 中强

*/

public class Calculator extends javax.swing.JFrame {

/**

* Creates new form Calculator

*/

public Calculator() {

initComponents();

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

//

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

jLabelResult = new javax.swing.JLabel();

jTextFieldInputOutput = new javax.swing.JTextField();

jPanel2 = new javax.swing.JPanel();

jButtonSqrt = new javax.swing.JButton();

jButtonPower = new javax.swing.JButton();

jButtonClear = new javax.swing.JButton();

jButtonBackspace = new javax.swing.JButton();

jButtonSeven = new javax.swing.JButton();

jButtonEight = new javax.swing.JButton();

jButtonNine = new javax.swing.JButton();

jButtonDivide = new javax.swing.JButton();

jButtonFour = new javax.swing.JButton();

jButtonFive = new javax.swing.JButton();

jButtonSix = new javax.swing.JButton();

jButtonMultiply = new javax.swing.JButton();

jButtonOne = new javax.swing.JButton();

jButtonTwo = new javax.swing.JButton();

jButtonThree = new javax.swing.JButton();

jButtonMinus = new javax.swing.JButton();

jButtonPlus = new javax.swing.JButton();

jButtonEquals = new javax.swing.JButton();

jButtonDot = new javax.swing.JButton();

jButtonZero = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("计算器");

setResizable(false);

jLabelResult.setFont(new java.awt.Font("微软雅黑", 0, 14)); // NOI18N

jLabelResult.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

jTextFieldInputOutput.setEditable(false);

jTextFieldInputOutput.setFont(new java.awt.Font("微软雅黑", 0, 24)); // NOI18N

jTextFieldInputOutput.setForeground(new java.awt.Color(0, 0, 255));

jTextFieldInputOutput.setHorizontalAlignment(javax.swing.JTextField.RIGHT);

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabelResult, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jTextFieldInputOutput))

.addContainerGap())

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jLabelResult, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jTextFieldInputOutput, javax.swing.GroupLayout.DEFAULT_SIZE, 44, Short.MAX_VALUE)

.addContainerGap())

);

jButtonSqrt.setFont(new java.awt.Font("微软雅黑", 0, 12)); // NOI18N

jButtonSqrt.setText("开方");

jButtonSqrt.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonSqrtActionPerformed(evt);

}

});

jButtonPower.setFont(new java.awt.Font("微软雅黑", 0, 12)); // NOI18N

jButtonPower.setText("乘方");

jButtonPower.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonPowerActionPerformed(evt);

}

});

jButtonClear.setFont(new java.awt.Font("微软雅黑", 0, 12)); // NOI18N

jButtonClear.setText("清除");

jButtonClear.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonClearActionPerformed(evt);

}

});

jButtonBackspace.setFont(new java.awt.Font("微软雅黑", 0, 12)); // NOI18N

jButtonBackspace.setText("退格");

jButtonBackspace.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonBackspaceActionPerformed(evt);

}

});

jButtonSeven.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonSeven.setText("7");

jButtonSeven.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonSevenActionPerformed(evt);

}

});

jButtonEight.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonEight.setText("8");

jButtonEight.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonEightActionPerformed(evt);

}

});

jButtonNine.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonNine.setText("9");

jButtonNine.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonNineActionPerformed(evt);

}

});

jButtonDivide.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonDivide.setText("/");

jButtonDivide.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonDivideActionPerformed(evt);

}

});

jButtonFour.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonFour.setText("4");

jButtonFour.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonFourActionPerformed(evt);

}

});

jButtonFive.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonFive.setText("5");

jButtonFive.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonFiveActionPerformed(evt);

}

});

jButtonSix.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonSix.setText("6");

jButtonSix.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonSixActionPerformed(evt);

}

});

jButtonMultiply.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonMultiply.setText("*");

jButtonMultiply.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonMultiplyActionPerformed(evt);

}

});

jButtonOne.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonOne.setText("1");

jButtonOne.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonOneActionPerformed(evt);

}

});

jButtonTwo.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonTwo.setText("2");

jButtonTwo.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonTwoActionPerformed(evt);

}

});

jButtonThree.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonThree.setText("3");

jButtonThree.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonThreeActionPerformed(evt);

}

});

jButtonMinus.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonMinus.setText("-");

jButtonMinus.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonMinusActionPerformed(evt);

}

});

jButtonPlus.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonPlus.setText("+");

jButtonPlus.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonPlusActionPerformed(evt);

}

});

jButtonEquals.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonEquals.setText("=");

jButtonEquals.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonEqualsActionPerformed(evt);

}

});

jButtonDot.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonDot.setText(".");

jButtonDot.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonDotActionPerformed(evt);

}

});

jButtonZero.setFont(new java.awt.Font("Comic Sans MS", 1, 36)); // NOI18N

jButtonZero.setText("0");

jButtonZero.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonZeroActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);

jPanel2.setLayout(jPanel2Layout);

jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addComponent(jButtonSqrt)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonPower)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonClear)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonBackspace))

.addGroup(jPanel2Layout.createSequentialGroup()

.addComponent(jButtonSeven)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonEight)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonNine)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonDivide))

.addGroup(jPanel2Layout.createSequentialGroup()

.addComponent(jButtonFour)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonFive)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonSix)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonMultiply))

.addGroup(jPanel2Layout.createSequentialGroup()

.addComponent(jButtonOne)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonTwo)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonThree)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonMinus))

.addGroup(jPanel2Layout.createSequentialGroup()

.addComponent(jButtonZero)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonDot)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonEquals)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonPlus)))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jButtonSqrt)

.addComponent(jButtonPower)

.addComponent(jButtonClear)

.addComponent(jButtonBackspace))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jButtonSeven)

.addComponent(jButtonEight)

.addComponent(jButtonNine)

.addComponent(jButtonDivide))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jButtonFour)

.addComponent(jButtonFive)

.addComponent(jButtonSix)

.addComponent(jButtonMultiply))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jButtonOne)

.addComponent(jButtonTwo)

.addComponent(jButtonThree)

.addComponent(jButtonMinus))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jButtonZero)

.addComponent(jButtonDot)

.addComponent(jButtonEquals)

.addComponent(jButtonPlus))

.addContainerGap(18, Short.MAX_VALUE))

);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addContainerGap())

);

pack();

}//

private void jButtonSevenActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

jTextFieldInputOutput.setText(input + "7");

}

private void jButtonEightActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

jTextFieldInputOutput.setText(input + "8");

}

private void jButtonNineActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

jTextFieldInputOutput.setText(input + "9");

}

private void jButtonFourActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

jTextFieldInputOutput.setText(input + "4");

}

private void jButtonFiveActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

jTextFieldInputOutput.setText(input + "5");

}

private void jButtonSixActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

jTextFieldInputOutput.setText(input + "6");

}

private void jButtonOneActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

jTextFieldInputOutput.setText(input + "1");

}

private void jButtonTwoActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

jTextFieldInputOutput.setText(input + "2");

}

private void jButtonThreeActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

jTextFieldInputOutput.setText(input + "3");

}

private void jButtonZeroActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

if ("0".equals(input) || "-0".equals(input)) {

return;

}

jTextFieldInputOutput.setText(input + "0");

input = jTextFieldInputOutput.getText();

if ("0".equals(input) || "-0".equals(input)) {

jTextFieldInputOutput.setText(input + ".");

}

}

private void jButtonDotActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

if (input.indexOf('.') >= 0) {

return;

}

jTextFieldInputOutput.setText(input + ".");

}

private void jButtonClearActionPerformed(java.awt.event.ActionEvent evt) {

jTextFieldInputOutput.setText("");

jLabelResult.setText("");

d1 = 0.0;

d2 = 0.0;

d3 = 0.0;

opt = "";

}

private void jButtonBackspaceActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

if (!input.equals("") && input != null) {

jTextFieldInputOutput.setText(input.substring(0, input.length() - 1));

}

}

private void jButtonPlusActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

if (!input.equals("") && input != null) {

d1 = Double.parseDouble(input);

opt = "+";

input = numberStringFormat(input);

jLabelResult.setText(input + opt);

jTextFieldInputOutput.setText("");

}

}

private void jButtonEqualsActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

if ((("").equals(input) || input == null)

|| ("".equals(opt) || opt == null)){

return;

}

if ("-".equals(input)) {

JOptionPane.showMessageDialog(getParent(), "请输入完整的数据!", "警告", JOptionPane.WARNING_MESSAGE);

return;

}

d2 = Double.parseDouble(input);

String resultString = jLabelResult.getText();

input = numberStringFormat(input);

jLabelResult.setText(resultString + input + " = ");

if (opt.equals("+")) {

d3 = d1 + d2;

}

if (opt.equals("-")) {

d3 = d1 - d2;

}

if (opt.equals("*")) {

d3 = d1 * d2;

}

if (opt.equals("/")) {

if (d2 == 0.0) {

jLabelResult.setText("Error!");

JOptionPane.showMessageDialog(getParent(), "除数不能为 0 ", "警告", JOptionPane.WARNING_MESSAGE);

jButtonClearActionPerformed(evt);

return;

}

d3 = d1 / d2;

}

if (opt.equals("power")) {

if (d1 == 0.0 && d2 < 0.0) {

jLabelResult.setText("Error!");

JOptionPane.showMessageDialog(getParent(), "底数为0时,指数不能为负", "警告", JOptionPane.WARNING_MESSAGE);

jButtonClearActionPerformed(evt);

return;

}

d3 = Math.pow(d1, d2);

}

showResult();

reset();

}

private void jButtonMinusActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

if (!input.equals("") && !input.equals("-")) {

d1 = Double.parseDouble(input);

opt = "-";

input = numberStringFormat(input);

jLabelResult.setText(input + opt);

jTextFieldInputOutput.setText("");

}

if (input.equals("")) {

jTextFieldInputOutput.setText("-");

}

}

private void jButtonMultiplyActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

if (!input.equals("") && input != null) {

d1 = Double.parseDouble(input);

opt = "*";

input = numberStringFormat(input);

jLabelResult.setText(input + opt);

jTextFieldInputOutput.setText("");

}

}

private void jButtonDivideActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

if (!input.equals("") && input != null) {

d1 = Double.parseDouble(input);

opt = "/";

input = numberStringFormat(input);

jLabelResult.setText(input + opt);

jTextFieldInputOutput.setText("");

}

}

private void jButtonSqrtActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

if (input.equals("") || input == null) {

return;

}

d1 = Double.parseDouble(input);

if (d1 < 0.0) {

JOptionPane.showMessageDialog(getParent(), "不能对负数开平方! ", "警告", JOptionPane.WARNING_MESSAGE);

jButtonClearActionPerformed(evt);

return;

}

d3 =Math.sqrt(d1);

jLabelResult.setText("sqrt(" + input + ")=");

jTextFieldInputOutput.setText("" + d3);

d1 = 0.0;

d2 = 0.0;

d3 = 0.0;

}

private void jButtonPowerActionPerformed(java.awt.event.ActionEvent evt) {

String input = jTextFieldInputOutput.getText();

if (input.equals("") || input == null) {

return;

}

d1 = Double.parseDouble(input);

opt = "power";

input = numberStringFormat(input);

jLabelResult.setText(opt + "(" + input + ",");

jTextFieldInputOutput.setText("");

}

private void reset() {

opt = "";

d1 = 0.0;

d2 = 0.0;

d3 = 0.0;

}

private String numberStringFormat(String s) {

// .5 -> 0.5

if (s.charAt(0) == '.') {

s = "0" + s;

}

if (s.charAt(s.length() - 1) == '.') {

s = s + "0";

}

// -.5 -> (-0.5) -0.5 -> (-0.5)

if (s.charAt(0) == '-') {

if (s.charAt(1) == '.') {

s = "-0" + s.substring(1);

}

s = "(" + s + ")";

}

return s;

}

private void showResult() {

jTextFieldInputOutput.setText("" + d3);

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/*

* Set the Nimbus look and feel

*/

//

/*

* If Nimbus (introduced in Java SE 6) is not available, stay with the

* default look and feel. For details see

* http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Calculator.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Calculator.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Calculator.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Calculator.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//

/*

* Create and display the form

*/

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new Calculator().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JButton jButtonBackspace;

private javax.swing.JButton jButtonClear;

private javax.swing.JButton jButtonDivide;

private javax.swing.JButton jButtonDot;

private javax.swing.JButton jButtonEight;

private javax.swing.JButton jButtonEquals;

private javax.swing.JButton jButtonFive;

private javax.swing.JButton jButtonFour;

private javax.swing.JButton jButtonMinus;

private javax.swing.JButton jButtonMultiply;

private javax.swing.JButton jButtonNine;

private javax.swing.JButton jButtonOne;

private javax.swing.JButton jButtonPlus;

private javax.swing.JButton jButtonPower;

private javax.swing.JButton jButtonSeven;

private javax.swing.JButton jButtonSix;

private javax.swing.JButton jButtonSqrt;

private javax.swing.JButton jButtonThree;

private javax.swing.JButton jButtonTwo;

private javax.swing.JButton jButtonZero;

private javax.swing.JLabel jLabelResult;

private javax.swing.JPanel jPanel1;

private javax.swing.JPanel jPanel2;

private javax.swing.JTextField jTextFieldInputOutput;

// End of variables declaration

private double d1;

private double d2;

private double d3;

private String opt;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你解答这个问题。你想要使用Java模拟计算器,可以按照以下步骤进行: 1. 创建一个Java类,命名为Calculator。 2. 在Calculator类,定义一个main方法,用于程序的执行入口。 3. 在main方法,创建一个Scanner对象,用于从控制台读取用户输入。 4. 定义两个double类型的变量,用于存储用户输入的两个数值。 5. 使用Scanner对象从控制台读取用户输入的两个数值,并将其存储到定义的变量。 6. 定义一个char类型的变量,用于存储用户输入的运算符。 7. 使用Scanner对象从控制台读取用户输入的运算符,并将其存储到定义的变量。 8. 根据用户输入的运算符,进行相应的计算,并将结果输出到控制台。 下面是一个简单的Java模拟计算器的示例代码: ``` import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入第一个数:"); double num1 = scanner.nextDouble(); System.out.print("请输入第二个数:"); double num2 = scanner.nextDouble(); System.out.print("请输入运算符(+、-、*、/):"); char operator = scanner.next().charAt(0); double result = 0; switch (operator) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': result = num1 / num2; break; default: System.out.println("输入的运算符不合法!"); return; } System.out.println("计算结果为:" + result); } } ``` 你可以将以上代码复制到一个Java文件,然后编译运行该程序,即可使用Java模拟计算器进行简单的数值计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值