新聞中心
java 計算器代碼帶括號 求注釋
//引入各種類文件
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),蕪湖縣企業(yè)網(wǎng)站建設(shè),蕪湖縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,蕪湖縣網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,蕪湖縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
import?java.awt.Button;
import?java.awt.Color;
import?java.awt.FlowLayout;
import?java.awt.Font;
import?java.awt.Frame;
import?java.awt.GridLayout;
import?java.awt.Panel;
import?java.awt.TextField;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
//定義JsqFrame繼承Frame
class?JsqFrame?extends?Frame?{
double?d1,?d2;??//定義兩個double類型的變量
int?op?=?-1;??//定義兩個int類型的變量
static?TextField?tf;//定義靜態(tài)對象TextField
CalPanelL?p1;??//定義CalPanelL對象
//?Constructor構(gòu)造方法
JsqFrame()?{
//以下設(shè)置屬性
super("計算器");
setLayout(new?FlowLayout());
setResizable(false);
setSize(250,?250);
tf?=?new?TextField(18);
tf.setEditable(false);
tf.setBackground(Color.lightGray);
tf.setForeground(Color.red);
tf.setFont(new?Font("Arial",?Font.BOLD,?16));
add(tf);
p1?=?new?CalPanelL();
add(p1);
setVisible(true);
//?addWindowListener(new?Wclose());
}
//添加按鈕繼承Button類
class?CalButton?extends?Button?{
CalButton(String?s)?{
//設(shè)置按鈕屬性
super(s);
setBackground(Color.WHITE);?//設(shè)置顏色為白色
}
}
//定義顯示器繼承Panel類
class?CalPanelL?extends?Panel?{
CalButton?a,?c,?b0,?b1,?b2,?b3,?b4,?b5,?b6,?b7,?b8,?b9,?bPN,?bPoint,
bAdd,?bSub,?bMul,?bDiv,?bL,?bR,?bLn,?bEqual,?bCE,?bQuit;
CalPanelL()?{
//設(shè)置顯示器的屬性
setLayout(new?GridLayout(6,?4));
setFont(new?Font("TimesRoman",?Font.BOLD,?16));
a?=?new?CalButton("");
c?=?new?CalButton("");
b0?=?new?CalButton("0");
b1?=?new?CalButton("1");
b2?=?new?CalButton("2");
b3?=?new?CalButton("3");
b4?=?new?CalButton("4");
b5?=?new?CalButton("5");
b6?=?new?CalButton("6");
b7?=?new?CalButton("7");
b8?=?new?CalButton("8");
b9?=?new?CalButton("9");
bPN?=?new?CalButton("+/-");
bPoint?=?new?CalButton(".");
//?設(shè)置按鈕
bAdd?=?new?CalButton("+");
bSub?=?new?CalButton("-");
bMul?=?new?CalButton("*");
bDiv?=?new?CalButton("/");
bL?=?new?CalButton("(");
bR?=?new?CalButton(")");
bLn?=?new?CalButton("ln");
bEqual?=?new?CalButton("=");
bCE?=?new?CalButton("CE");
bQuit?=?new?CalButton("退出");
//?加入按鈕
add(a);
add(c);
add(bCE);
bCE.addActionListener(new?PressBCE());
add(bQuit);
bQuit.addActionListener(new?PressBQuit());
add(b7);
b7.addActionListener(new?PressB7());
add(b8);
b8.addActionListener(new?PressB8());
add(b9);
b9.addActionListener(new?PressB9());
add(bDiv);
bDiv.addActionListener(new?PressBDiv());
add(b4);
b4.addActionListener(new?PressB4());
add(b5);
b5.addActionListener(new?PressB5());
add(b6);
b6.addActionListener(new?PressB6());
add(bMul);
bMul.addActionListener(new?PressBMul());
add(b1);
b1.addActionListener(new?PressB1());
add(b2);
b2.addActionListener(new?PressB2());
add(b3);
b3.addActionListener(new?PressB3());
add(bSub);
bSub.addActionListener(new?PressBSub());
add(b0);
b0.addActionListener(new?PressB0());
add(bPoint);
bPoint.addActionListener(new?PressBPoint());
add(bPN);
bPN.addActionListener(new?PressBPN());
;
add(bAdd);
bAdd.addActionListener(new?PressBAdd());
add(bL);
bL.addActionListener(new?PressBL());
add(bR);
bR.addActionListener(new?PressBR());
add(bLn);
bLn.addActionListener(new?PressBLn());
add(bEqual);
bEqual.addActionListener(new?PressBEqual());
}
}
//定義PressBAdd實現(xiàn)ActionListener
//大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[加號的監(jiān)聽事件]
class?PressBAdd?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
try?{
String?d1?=?tf.getText();
op?=?0;
tf.setText(d1?+?"+");
}?catch?(Exception?ee)?{
}
}
}
//定義PressBSub實現(xiàn)ActionListener
//大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[減號的監(jiān)聽事件]
class?PressBSub?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
try?{
String?d1?=?tf.getText();
op?=?1;
tf.setText(d1?+?"-");
}?catch?(Exception?ee)?{
}
}
}
//定義PressBMul實現(xiàn)ActionListener
//大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[乘號的監(jiān)聽事件]
class?PressBMul?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
try?{
String?d1?=?tf.getText();
op?=?2;
tf.setText(d1?+?"*");
}?catch?(Exception?ee)?{
}
}
}
//定義PressBDiv實現(xiàn)ActionListener
//大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[除號的監(jiān)聽事件]
class?PressBDiv?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
try?{
String?d1?=?tf.getText();
op?=?3;
tf.setText(d1?+?"/");
}?catch?(Exception?ee)?{
}
}
}
//定義PressBL實現(xiàn)ActionListener
//大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[向左鍵的監(jiān)聽事件]
class?PressBL?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
try?{
String?d1?=?tf.getText();
op?=?3;
tf.setText(d1?+?"(");
}?catch?(Exception?ee)?{
}
}
}
//定義PressBR實現(xiàn)ActionListener
//大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[向右鍵的監(jiān)聽事件]
class?PressBR?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
try?{
String?d1?=?tf.getText();
op?=?3;
tf.setText(d1?+?")");
}?catch?(Exception?ee)?{
}
}
}
//定義PressBEqual實現(xiàn)ActionListener
//大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[等號的監(jiān)聽事件]
class?PressBEqual?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
try?{
Jsq?jsq?=?new?Jsq();
String?s?=?tf.getText();
System.out.println(s);
while?(s.indexOf("(")?+?1??0??s.indexOf(")")??0)?{
String?s1?=?jsq.caculateHigh(s);
System.out.println(s1);
s?=?s1;
}
String?str?=?jsq.cacluteMain(s);
System.out.println(str);
tf.setText(String.valueOf(str));
}?catch?(Exception?ee)?{
}
}
}
/*
*?批量寫吧
*?以下是按1、2、3等等的監(jiān)聽事件
*?還有清零的等等監(jiān)聽事件
*/
class?PressBLn?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
try?{
double?x?=?Double.parseDouble(tf.getText());
double?y;
y?=?Math.log10(x);
tf.setText(y?+?"");
}?catch?(Exception?ee)?{
}
}
}
class?PressBCE?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
tf.setText("");
}
}
class?PressBPN?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
try?{
String?text?=?tf.getText();
if?(text?!=?"")?{
if?(text.charAt(0)?==?'-')
tf.setText(text.substring(1));
else?if?(text.charAt(0)?=?'0'??text.charAt(0)?=?'9')
tf.setText("-"?+?text.substring(0));
else?if?(text.charAt(0)?==?'.')
tf.setText("-0"?+?text.substring(0));
}
}?catch?(Exception?ee)?{
}
}
}
class?PressBPoint?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
String?text?=?tf.getText();
if?(text.lastIndexOf(".")?==?-1)
tf.setText(text?+?".");
}
}
class?PressB0?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
String?text?=?tf.getText();
tf.setText(text?+?"0");
}
}
class?PressB1?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
String?text?=?tf.getText();
tf.setText(text?+?"1");
}
}
class?PressB2?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
String?text?=?tf.getText();
tf.setText(text?+?"2");
}
}
class?PressB3?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
String?text?=?tf.getText();
tf.setText(text?+?"3");
}
}
class?PressB4?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
String?text?=?tf.getText();
tf.setText(text?+?"4");
}
}
class?PressB5?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
String?text?=?tf.getText();
tf.setText(text?+?"5");
}
}
class?PressB6?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
String?text?=?tf.getText();
tf.setText(text?+?"6");
}
}
class?PressB7?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
String?text?=?tf.getText();
tf.setText(text?+?"7");
}
}
class?PressB8?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
String?text?=?tf.getText();
tf.setText(text?+?"8");
}
}
class?PressB9?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
String?text?=?tf.getText();
tf.setText(text?+?"9");
}
}
class?PressBQuit?implements?ActionListener?{
public?void?actionPerformed(ActionEvent?e)?{
System.exit(0);
}
}
public?void?Js()?{
String?text?=?tf.getText();
tf.setText(text);
}
}
用JAVA編一個計算器的程序,要里邊的注釋
package counter;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Counter implements ActionListener {
JFrame counter = null;
Container cou = null;
JTextField txt = null;
JPanel pan = null;
JButton [] btn = null;
JLabel lblbrand = null,lbltype = null;
String sign = "",sign1 = "0",sign2 = "",sign3 = "";
char operator = ' ', operator1 = '+';
int i = 0;
double resault = 0;
int b = 0;
public Counter() {
counter = new JFrame("計算器");
cou = counter.getContentPane();
cou.setLayout(null);
lblbrand = new JLabel("大象牌");
lblbrand.setForeground(Color.BLUE);
lblbrand.setBounds(15,8,70,20);
cou.add(lblbrand);
lbltype = new JLabel("x-14250");
lbltype.setForeground(Color.GREEN);
lbltype.setBounds(265,8,70,20);
cou.add(lbltype);
txt = new JTextField("0.");
txt.setCaretPosition(2);
txt.setHorizontalAlignment(JTextField.TRAILING);
cou.add(txt);
txt.setBounds(15,28,300,30);
pan = new JPanel(new GridLayout(5,4,10,10));
pan.setBounds(15,68,300,160);
btn = new JButton[20];
String [] btnname = {"Off","Back","C","Exit","7","8","9","+","4","5",
"6","-","1","2","3","*","0",".","=","/"};
for(int i = 0; i 20; i++)
{
btn[i] = new JButton(btnname[i]);
pan.add(btn[i]);
btn[i].addActionListener(this);
}
btn[7].setFont(new java.awt.Font("宋體", Font.PLAIN, 16));
btn[11].setFont(new java.awt.Font("宋體", Font.PLAIN, 16));
btn[15].setFont(new java.awt.Font("宋體", Font.PLAIN, 16));
btn[17].setFont(new java.awt.Font("宋體", Font.PLAIN, 16));
btn[18].setFont(new java.awt.Font("宋體", Font.PLAIN, 16));
btn[19].setFont(new java.awt.Font("宋體", Font.PLAIN, 16));
cou.add(pan);
counter.setSize(335,280);
counter.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
operator = e.getActionCommand().charAt(0);
annal();
if(!sign.equals(""))
opinion(sign);
else
showresault(sign1);
if(i % 2 != 0)
txt.setText("");
}
private void annal(){
int l = 0;
switch (operator) {
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
if (!sign.equals("0"))
sign = sign + Character.toString(operator);
else
sign = sign.concat(Character.toString(operator)).substring(1);
break;
case '0':
if (!sign.equals("") !sign.equals("0"))
sign = sign + Character.toString(operator);
else
sign = "0";
break;
case 'B':
if (sign.length() 1 sign.charAt(txt.getText().length() - 1) != '.') {
sign = (sign.substring(0,sign.length() - 1));
} else if (sign.length() 2) {
sign = (sign.substring(0,sign.length() - 2));
} else {
sign = "0";
}
break;
case 'C':
sign = "";
sign2 = "";
sign1 = "0";
operator = ' ';
break;
case 'E':
System.exit(0);
break;
case 'O':
sign = "";
sign2 = "";
sign1 = "0";
operator = ' ';
i++;
break;
case '+':
case '-':
case '*':
case '/':
count();
break;
case '=':
count();
operator1 = ' ';
sign3 = "-1";
break;
case '.':
if (sign.equals("")) {
sign = "0".concat(Character.toString(operator));
} else {
for (int i = 0; i sign.length(); i++) {
if (sign.charAt(i) == '.') {
l++;
}
}
if (l == 0) {
sign = sign + Character.toString(operator);
}
}
break;
}
}
private void count(){
double number1 = 0,number2 = 0;
if (!sign.equals(""))
sign2 = sign;
else
sign2 = "0";
sign = "";
if (!sign3.equals("-1"))
sign3 = sign1;
else
sign3 = "0";
number1 = Double.valueOf(sign3).doubleValue();
number2 = Double.valueOf(sign2).doubleValue();
switch(operator1){
case '+':
resault = number1 + number2;
break;
case '-':
resault = number1 - number2;
break;
case '*':
resault = number1 * number2;
break;
case '/':
resault = number1 / number2;
break;
case ' ':
resault = Double.valueOf(sign2).doubleValue();
}
operator1 = operator;
sign1 = Double.toString(resault);
}
private void showresault(String sign) {
int j = sign.length() - 1;
String subsign = "";
for (int i = 0; i = j; i++) {
if (sign.charAt(i) == '.')
{
j = i;
break;
}
}
if (j != sign.length() - 1) {
subsign = sign.substring(j+1);
if (Double.valueOf(subsign).doubleValue() 0)
txt.setText(sign);
else
txt.setText(sign.substring(0, j));
}
else
txt.setText(sign);
}
private void opinion(String sign){
txt.setText(sign);
}
public static void main(String[] args) {
Counter counter = new Counter();
}
}
這個是以前自己做的一個計算器,可能不是很完善,注釋沒寫,但代碼相對簡單,應(yīng)該可以看明白
java 計算器代碼
import javax.swing.*;
import javax.swing.border.Border;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.HashMap;
/**
* 我的計算器。Cheshi 繼承于 JFrame,是計算器的界面
c*/
public class Cheshi extends JFrame {
private Border border = BorderFactory.createEmptyBorder(5, 5, 5, 5);
private JTextField textbox = new JTextField("0");
private CalculatorCore core = new CalculatorCore();
private ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
JButton b = (JButton) e.getSource();
String label = b.getText();
String result = core.process(label);
textbox.setText(result);
}
};
public Cheshi(String title) throws HeadlessException {
super(title); // 調(diào)用父類構(gòu)造方法
setupFrame(); // 調(diào)整窗體屬性
setupControls(); // 創(chuàng)建控件
}
private void setupControls() {
setupDisplayPanel(); // 創(chuàng)建文本面板
setupButtonsPanel(); // 創(chuàng)建按鈕面板
}
// 創(chuàng)建按鈕面板并添加按鈕
private void setupButtonsPanel() {
JPanel panel = new JPanel();
panel.setBorder(border);
panel.setLayout(new GridLayout(4, 5, 3, 3));
createButtons(panel, new String[]{
"7", "8", "9", "+", "C",
"4", "5", "6", "-", "CE",
"1", "2", "3", "*", "", // 空字符串表示這個位置沒有按鈕
"0", ".", "=", "/", ""
});
this.add(panel, BorderLayout.CENTER);
}
/**
* 在指定的面板上創(chuàng)建按鈕
*
* @param panel 要創(chuàng)建按鈕的面板
* @param labels 按鈕文字
*/
private void createButtons(JPanel panel, String[] labels) {
for (String label : labels) {
// 如果 label 為空,則表示創(chuàng)建一個空面板。否則創(chuàng)建一個按鈕。
if (label.equals("")) {
panel.add(new JPanel());
} else {
JButton b = new JButton(label);
b.addActionListener(listener); // 為按鈕添加偵聽器
panel.add(b);
}
}
}
// 設(shè)置顯示面板,用一個文本框來作為計算器的顯示部分。
private void setupDisplayPanel() {
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.setBorder(border);
setupTextbox();
panel.add(textbox, BorderLayout.CENTER);
this.add(panel, BorderLayout.NORTH);
}
// 調(diào)整文本框
private void setupTextbox() {
textbox.setHorizontalAlignment(JTextField.RIGHT); // 文本右對齊
textbox.setEditable(false); // 文本框只讀
textbox.setBackground(Color.white); // 文本框背景色為白色
}
// 調(diào)整窗體
private void setupFrame() {
this.setDefaultCloseOperation(EXIT_ON_CLOSE); // 當(dāng)窗體關(guān)閉時程序結(jié)束
this.setLocation(100, 50); // 設(shè)置窗體顯示在桌面上的位置
this.setSize(300, 200); // 設(shè)置窗體大小
this.setResizable(false); // 窗體大小固定
}
// 程序入口
public static void main(String[] args) throws Exception {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
Cheshi frame = new Cheshi("我的計算器");
frame.setVisible(true); // 在桌面上顯示窗體
}
}
/**
* 計算器核心邏輯。這個邏輯只能處理 1~2 個數(shù)的運算。
*/
class CalculatorCore {
private String displayText = "0"; // 要顯示的文本
boolean reset = true;
private BigDecimal number1, number2;
private String operator;
private HashMapString, Operator operators = new HashMapString, Operator();
private HashMapString, Processor processors = new HashMapString, Processor();
CalculatorCore() {
setupOperators();
setupProcessors();
}
// 為每種命令添加處理方式
private void setupProcessors() {
processors.put("[0-9]", new Processor() {
public void calculate(String command) {
numberClicked(command);
}
});
processors.put("\\.", new Processor() {
public void calculate(String command) {
dotClicked();
}
});
processors.put("=", new Processor() {
public void calculate(String command) {
equalsClicked();
}
});
processors.put("[+\\-*/]", new Processor() {
public void calculate(String command) {
operatorClicked(command);
}
});
processors.put("C", new Processor() {
public void calculate(String command) {
clearClicked();
}
});
processors.put("CE", new Processor() {
public void calculate(String command) {
clearErrorClicked();
}
});
}
// 為每種 operator 添加處理方式
private void setupOperators() {
operators.put("+", new Operator() {
public BigDecimal process(BigDecimal number1, BigDecimal number2) {
return number1.add(number2);
}
});
operators.put("-", new Operator() {
public BigDecimal process(BigDecimal number1, BigDecimal number2) {
return number1.subtract(number2);
}
});
operators.put("*", new Operator() {
public BigDecimal process(BigDecimal number1, BigDecimal number2) {
return number1.multiply(number2);
}
});
operators.put("/", new Operator() {
public BigDecimal process(BigDecimal number1, BigDecimal number2) {
return number1.divide(number2, 30, RoundingMode.HALF_UP);
}
});
}
// 根據(jù)命令處理。這里的命令實際上就是按鈕文本。
public String process(String command) {
for (String pattern : processors.keySet()) {
if (command.matches(pattern)) {
processors.get(pattern).calculate(command);
break;
}
}
return displayText;
}
// 當(dāng)按下 CE 時
private void clearErrorClicked() {
if (operator == null) {
number1 = null;
} else {
number2 = null;
}
displayText = "0";
reset = true;
}
// 當(dāng)按下 C 時,將計算器置為初始狀態(tài)。
private void clearClicked() {
number1 = null;
number2 = null;
operator = null;
displayText = "0";
reset = true;
}
// 當(dāng)按下 = 時
private void equalsClicked() {
calculateResult();
number1 = null;
number2 = null;
operator = null;
reset = true;
}
// 計算結(jié)果
private void calculateResult() {
number2 = new BigDecimal(displayText);
Operator oper = operators.get(operator);
if (oper != null) {
BigDecimal result = oper.process(number1, number2);
displayText = result.toString();
}
}
// 當(dāng)按下 +-*/ 時(這里也可以擴(kuò)展成其他中間操作符)
private void operatorClicked(String command) {
if (operator != null) {
calculateResult();
}
number1 = new BigDecimal(displayText);
operator = command;
reset = true;
}
// 當(dāng)按下 . 時
private void dotClicked() {
if (displayText.indexOf(".") == -1) {
displayText += ".";
} else if (reset) {
displayText = "0.";
}
reset = false;
}
// 當(dāng)按下 0-9 時
private void numberClicked(String command) {
if (reset) {
displayText = command;
} else {
displayText += command;
}
reset = false;
}
// 運算符處理接口
interface Operator {
BigDecimal process(BigDecimal number1, BigDecimal number2);
}
// 按鈕處理接口
interface Processor {
void calculate(String command);
}
}
哪位高手幫忙注釋一個Java程序,計算器
public void actionPerformed(ActionEvent e)
{
String label=e.getActionCommand();//返回動作的按鈕標(biāo)簽并將其賦給label
if(label=="C") //這個有問題,怎么也得用equals方法吧
handleC();//當(dāng)用戶點擊C,調(diào)用handleC方法
else if("0123456789.".indexOf(label)=0)// 如果label中包含“0123456789.”
{handleNumber(label);
}
else
handleOperator(label);
}
標(biāo)題名稱:java計算器代碼注釋 java計算器加減乘除代碼
文章起源:http://ef60e0e.cn/article/doshpde.html