From 511f48290a5ec6f2d25c5fe0b640431ab9642106 Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Mon, 23 May 2022 11:04:55 +0800 Subject: [PATCH 01/21] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=BA=86=E5=9F=BA?= =?UTF-8?q?=E6=9C=AC=E9=9D=A2=E6=9D=BF=EF=BC=8C=E5=AE=9A=E4=BA=86=E6=A1=86?= =?UTF-8?q?=E6=9E=B6=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Calculator.java | 10 +++++++++ src/java2022spring/ComputerFrame.java | 30 +++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 src/java2022spring/Calculator.java create mode 100644 src/java2022spring/ComputerFrame.java diff --git a/src/java2022spring/Calculator.java b/src/java2022spring/Calculator.java new file mode 100644 index 0000000..a3857c5 --- /dev/null +++ b/src/java2022spring/Calculator.java @@ -0,0 +1,10 @@ +package java2022spring; + +public class Calculator { + public static void main (String[] args) { + ComputerFrame win =new ComputerFrame("简单计算器",300,50,650,700); + //win.setTitle("简单计算器"); + // win.setBounds(300,50,650,700); + } +} + diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java new file mode 100644 index 0000000..78d7282 --- /dev/null +++ b/src/java2022spring/ComputerFrame.java @@ -0,0 +1,30 @@ +package java2022spring; +import java.awt.*; +import javax.swing.*; +public class ComputerFrame extends JFrame{ + JPanel mianban;//面板 + JTextArea TextArea;//文本区 + JButton[][]botton=new JButton[5][5]; + String Mem="0"; + +ComputerFrame(){} + public ComputerFrame(String s,int x,int y,int w,int h) { + init(s); + setLocation(x,y); + setSize(w,h); + setVisible(true); + setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + } + void init(String s) { + setTitle(s); + + } + + + +} + + + + + -- Gitee From da4961f31c0fd1b54d8e88bcd381c73e325afbad Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Tue, 24 May 2022 23:01:53 +0800 Subject: [PATCH 02/21] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=86=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Calculator.java | 5 ++-- src/java2022spring/ComputerFrame.java | 41 ++++++++++++++++++++++++++- src/java2022spring/Test.java | 8 +++++- 3 files changed, 49 insertions(+), 5 deletions(-) diff --git a/src/java2022spring/Calculator.java b/src/java2022spring/Calculator.java index a3857c5..5903927 100644 --- a/src/java2022spring/Calculator.java +++ b/src/java2022spring/Calculator.java @@ -2,9 +2,8 @@ package java2022spring; public class Calculator { public static void main (String[] args) { - ComputerFrame win =new ComputerFrame("简单计算器",300,50,650,700); - //win.setTitle("简单计算器"); - // win.setBounds(300,50,650,700); + ComputerFrame win =new ComputerFrame("简单计算器",200,50,550,500); + } } diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index 78d7282..2e7d98c 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -1,12 +1,18 @@ package java2022spring; import java.awt.*; import javax.swing.*; +import java.lang.String; +import javax.swing.border.LineBorder; +import java.awt.event.ActionListener; public class ComputerFrame extends JFrame{ JPanel mianban;//面板 + JPanel keyBoard=new JPanel(); + JTextArea TextArea;//文本区 - JButton[][]botton=new JButton[5][5]; + JButton[][]botton=new JButton[5][5];//按钮 String Mem="0"; + ComputerFrame(){} public ComputerFrame(String s,int x,int y,int w,int h) { init(s); @@ -14,9 +20,42 @@ ComputerFrame(){} setSize(w,h); setVisible(true); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + validate(); } void init(String s) { setTitle(s); + //setLayout(new BorderLayout(5,5));//布局 + LineBorder border = new LineBorder(Color.LIGHT_GRAY, 6, true); + TextArea=new JTextArea(2,5);//文本区 + TextArea.setFont(new Font("黑体",Font.BOLD,60)); + TextArea.setBorder(BorderFactory.createLoweredBevelBorder()); + String [][] str= { + {"C","%","CE","±","X"}, + {"7","8","9","%","x^"}, + {"4","5","6","*","1/x"}, + {"1","2","3","+","^x"}, + {"back","0",".","-","="} + + }; + mianban=new JPanel(); + mianban.setLayout(new BorderLayout());//布局 + keyBoard.setLayout(new GridLayout(5,5));//布局 + for(int i=0;i<5;i++) { + for(int j=0;j<5;j++) { + botton[i][j]=new JButton(str[i][j]); + botton[i][j].setFont(new Font("黑体",Font.BOLD,30)); + keyBoard.add(botton[i][j]);//把符号放入面板中 + } + } + mianban.add(TextArea,BorderLayout.NORTH); + mianban.add(keyBoard,BorderLayout.CENTER); + add(mianban); + + + + + + } diff --git a/src/java2022spring/Test.java b/src/java2022spring/Test.java index 24deb29..f86f401 100644 --- a/src/java2022spring/Test.java +++ b/src/java2022spring/Test.java @@ -1,7 +1,13 @@ package java2022spring; +import java.awt.BorderLayout; +import java.awt.Font; + +import javax.swing.JButton; +import javax.swing.JPanel; + public class Test { public static void main(String[] args) { System.out.println("Hello world!"); } -} +} \ No newline at end of file -- Gitee From 2e347e30dee7350054e446613a2f29186bd2f129 Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Fri, 27 May 2022 23:21:48 +0800 Subject: [PATCH 03/21] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86?= =?UTF-8?q?=EF=BC=8C=E6=98=BE=E7=A4=BA=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ComputerFrame.java | 165 ++++++++++++++++++++++++-- 1 file changed, 152 insertions(+), 13 deletions(-) diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index 2e7d98c..89602be 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -3,14 +3,18 @@ import java.awt.*; import javax.swing.*; import java.lang.String; import javax.swing.border.LineBorder; + +import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -public class ComputerFrame extends JFrame{ +public class ComputerFrame extends JFrame implements ActionListener{ JPanel mianban;//面板 JPanel keyBoard=new JPanel(); JTextArea TextArea;//文本区 - JButton[][]botton=new JButton[5][5];//按钮 - String Mem="0"; + JButton[][]button=new JButton[5][5];//按钮 + ActionListener listener;//监视器 + String Mem="0",str1=""; + private StringBuilder sBuilder = new StringBuilder(); //利用StringBuilder类来显示,以及区分两个操作数 ComputerFrame(){} @@ -27,11 +31,13 @@ ComputerFrame(){} //setLayout(new BorderLayout(5,5));//布局 LineBorder border = new LineBorder(Color.LIGHT_GRAY, 6, true); TextArea=new JTextArea(2,5);//文本区 + TextArea.setFont(new Font("黑体",Font.BOLD,60)); + TextArea.setBorder(BorderFactory.createLoweredBevelBorder()); String [][] str= { - {"C","%","CE","±","X"}, - {"7","8","9","%","x^"}, + {"C","CE","%","±","X"}, + {"7","8","9","÷","x^"}, {"4","5","6","*","1/x"}, {"1","2","3","+","^x"}, {"back","0",".","-","="} @@ -42,26 +48,159 @@ ComputerFrame(){} keyBoard.setLayout(new GridLayout(5,5));//布局 for(int i=0;i<5;i++) { for(int j=0;j<5;j++) { - botton[i][j]=new JButton(str[i][j]); - botton[i][j].setFont(new Font("黑体",Font.BOLD,30)); - keyBoard.add(botton[i][j]);//把符号放入面板中 + button[i][j]=new JButton(str[i][j]); + button[i][j].setFont(new Font("黑体",Font.BOLD,30)); + keyBoard.add(button[i][j]);//把符号放入面板中 + button[i][j].addActionListener( this );//设置监视器 + } } - mianban.add(TextArea,BorderLayout.NORTH); - mianban.add(keyBoard,BorderLayout.CENTER); + + mianban.add(TextArea,BorderLayout.NORTH);//面板设计 + mianban.add(keyBoard,BorderLayout.CENTER);//面板设计 add(mianban); - + } + @Override + public void actionPerformed(ActionEvent e) {//事件处理 + //if(e.getSource()==button[3][0]||e.getSource()==button[3][1]||e.getSource()==botton[3][2]){ + //str1=e.getActionCommand(); + //TextArea.setText(str1);} + String str1=e.getActionCommand(); + if(str1.equals("0")) + { + sBuilder.append("0"); //利用StringBuilder类的对象调用方法,将数据存起来 + TextArea.setText(sBuilder.toString()); //显示数据 + } + else if(str1.equals("1")) + { + sBuilder.append("1"); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("2")) + { + sBuilder.append("2"); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("3")) + { + sBuilder.append("3"); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("4")) + { + sBuilder.append("4"); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("5")) + { + sBuilder.append("5"); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("6")) + { + sBuilder.append("6"); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("7")) + { + sBuilder.append("7"); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("8")) + { + sBuilder.append("8"); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("9")) + { + sBuilder.append("9"); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals(".")) + { + sBuilder.append("."); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("+")) + { + sBuilder.append("+"); + sBuilder = new StringBuilder(); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("-")) + { + sBuilder.append("-"); + sBuilder = new StringBuilder(); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("*")) + { + sBuilder.append("*"); + sBuilder = new StringBuilder(); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("÷")) + { + sBuilder.append("÷"); + sBuilder = new StringBuilder(); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("=")) + { + sBuilder.append("="); + sBuilder = new StringBuilder(); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("x^")) + { + sBuilder.append("x^"); + sBuilder = new StringBuilder(); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("^x")) + { + sBuilder.append("^x"); + sBuilder = new StringBuilder(); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("%")) + { + sBuilder.append("%"); + sBuilder = new StringBuilder(); + TextArea.setText(sBuilder.toString()); + } + + else if(str1.equals("CE")) //清除当前的输入的数据 + { + sBuilder.deleteCharAt(sBuilder.length() - 1); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("C")) //清除所有数据 + { + TextArea.setText(""); + + } - } + private double getNumberFromText() {//获取文本中的数字进行运算 + double result = 0; + try { + result = Double.valueOf(TextArea.getText()).doubleValue(); + } catch (NumberFormatException e) { + } + return result; + } + + +} -} + -- Gitee From ab3d4fb3a40f8c4ce998871908da53df23b70e0d Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Sun, 29 May 2022 20:38:51 +0800 Subject: [PATCH 04/21] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E9=83=A8?= =?UTF-8?q?=E5=88=86=E7=AE=97=E6=B3=95=EF=BC=8C=E4=BD=86=E6=98=AF=E5=8F=AA?= =?UTF-8?q?=E8=83=BD=E7=AE=97=E4=B8=80=E6=AC=A1=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ComputerFrame.java | 115 ++++++++++++++++++++++---- 1 file changed, 97 insertions(+), 18 deletions(-) diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index 89602be..0afca86 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -9,11 +9,12 @@ import java.awt.event.ActionListener; public class ComputerFrame extends JFrame implements ActionListener{ JPanel mianban;//面板 JPanel keyBoard=new JPanel(); - JTextArea TextArea;//文本区 JButton[][]button=new JButton[5][5];//按钮 ActionListener listener;//监视器 - String Mem="0",str1=""; + String Mem="0",str1="",str2="",str3=""; + String str; //用来保存文本区域的字符串; + double result, a, b,c, flag = 0; // flag指示变量,判断按"="前按的是哪个按键 private StringBuilder sBuilder = new StringBuilder(); //利用StringBuilder类来显示,以及区分两个操作数 @@ -24,7 +25,7 @@ ComputerFrame(){} setSize(w,h); setVisible(true); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - validate(); + validate();//会读取变量修改后的最的值 } void init(String s) { setTitle(s); @@ -39,7 +40,7 @@ ComputerFrame(){} {"C","CE","%","±","X"}, {"7","8","9","÷","x^"}, {"4","5","6","*","1/x"}, - {"1","2","3","+","^x"}, + {"1","2","3","+","√"}, {"back","0",".","-","="} }; @@ -64,10 +65,12 @@ ComputerFrame(){} } @Override public void actionPerformed(ActionEvent e) {//事件处理 + //if(e.getSource()==button[3][0]||e.getSource()==button[3][1]||e.getSource()==botton[3][2]){ //str1=e.getActionCommand(); //TextArea.setText(str1);} String str1=e.getActionCommand(); + str = TextArea.getText(); if(str1.equals("0")) { sBuilder.append("0"); //利用StringBuilder类的对象调用方法,将数据存起来 @@ -126,49 +129,55 @@ ComputerFrame(){} else if(str1.equals("+")) { sBuilder.append("+"); - sBuilder = new StringBuilder(); + //sBuilder = new StringBuilder(); TextArea.setText(sBuilder.toString()); } else if(str1.equals("-")) { sBuilder.append("-"); - sBuilder = new StringBuilder(); + //sBuilder = new StringBuilder(); TextArea.setText(sBuilder.toString()); } else if(str1.equals("*")) { sBuilder.append("*"); - sBuilder = new StringBuilder(); + //sBuilder = new StringBuilder(); TextArea.setText(sBuilder.toString()); } else if(str1.equals("÷")) { sBuilder.append("÷"); - sBuilder = new StringBuilder(); + //sBuilder = new StringBuilder(); TextArea.setText(sBuilder.toString()); } else if(str1.equals("=")) { sBuilder.append("="); - sBuilder = new StringBuilder(); + //sBuilder = new StringBuilder(); TextArea.setText(sBuilder.toString()); } else if(str1.equals("x^")) { sBuilder.append("x^"); - sBuilder = new StringBuilder(); + //sBuilder = new StringBuilder(); TextArea.setText(sBuilder.toString()); } - else if(str1.equals("^x")) + else if(str1.equals("√")) { - sBuilder.append("^x"); - sBuilder = new StringBuilder(); + sBuilder.append("√"); + //sBuilder = new StringBuilder(); TextArea.setText(sBuilder.toString()); } else if(str1.equals("%")) { sBuilder.append("%"); - sBuilder = new StringBuilder(); + //sBuilder = new StringBuilder(); + TextArea.setText(sBuilder.toString()); + } + else if(str1.equals("1/x")) + { + sBuilder.append("1/x"); + //sBuilder = new StringBuilder(); TextArea.setText(sBuilder.toString()); } @@ -179,14 +188,84 @@ ComputerFrame(){} } else if(str1.equals("C")) //清除所有数据 { - TextArea.setText(""); + + TextArea.setText(sBuilder.toString()); + sBuilder = new StringBuilder(); } - + + + + if (str.contains("+")) { //如果字符串中包含“+”,做加法运算 + String str2 = str.substring(0, str.indexOf('+')); //获取加数 + String str3 = str.substring(str.indexOf('+') + 1, str.indexOf('=')); //获取被加数 + double a = Double.parseDouble(str2); //转化为double类型 + double b = Double.parseDouble(str3); + TextArea.setText(str + "\n" + (a + b)); + } + else if (str.contains("*")) { //乘法运算 + String str2 = str.substring(0, str.indexOf('*')); + String str3 = str.substring(str.indexOf('*') + 1, str.indexOf('=')); + double a = Double.parseDouble(str2); + double b = Double.parseDouble(str3); + TextArea.setText(str + "\n" + a * b); + } + else if(str.contains("1/x")) { //倒数运算 + String str2 = str.substring(0, str.indexOf("1/x")); + double a = Double.parseDouble(str2); + if(a == 0) TextArea.setText(str + "\n" + "错误,请重新输入"); + else TextArea.setText(str + "\n" + 1/a); + } + else if (str.contains("/")) { //除法运算 + String str2 = str.substring(0, str.indexOf('/')); + String str3 = str.substring(str.indexOf('/') + 1, str.indexOf('=')); + double a = Double.parseDouble(str2); + double b = Double.parseDouble(str3); + if (b == 0) TextArea.setText(str + "\n" + "错误,请重新输入"); + else TextArea.setText(str + "\n" + a / b); + } + else if (str.contains("^2")) { //平方运算 + String str2 = str.substring(0, str.indexOf('^')); + double a = Double.parseDouble(str2); + TextArea.setText(str + "\n" + a * a); + } + else if (str.contains("√")) { //开方运算 + String str2 = str.substring(str.indexOf('√') + 1, str.indexOf('=')); + double a = Double.parseDouble(str2); + TextArea.setText(str + "\n" + Math.sqrt(a)); + } + else if (str.contains("±")) { //加减运算 + String str2 = str.substring(0, str.indexOf('±')); + String str3 = str.substring(str.indexOf('±') + 1, str.indexOf('=')); + double a = Double.parseDouble(str2); + double b = Double.parseDouble(str3); + if (c == 0) TextArea.setText(str + "\n" + a); + else TextArea.setText(str + "\n" + (a + b) + " & " + (a - b)); + } + else if (str.contains("%")) { //百分号运算 + String str2 = str.substring(0, str.indexOf('%')); + double a = Double.parseDouble(str2); + TextArea.setText(str + "\n" + a/100); - + } + else if (str.contains("-")) { //减法运算 + if(str.charAt(0) == '-') { //如果第一个字符是“-”,形如-2-3形式,就转化成为-(2+3)形式 + String str_x = str; + str = str.substring(1); + String str2 = str.substring(0, str.indexOf('-')); + String str3 = str.substring(str.indexOf('-') + 1, str.indexOf('=')); + double a = Double.parseDouble(str2); + double b = Double.parseDouble(str3); + TextArea.setText(str_x + "\n" + (-a-b)); + } + } - private double getNumberFromText() {//获取文本中的数字进行运算 + } + + + + + private double getNumberFromText() {//获取文本中的数字进行运算 double result = 0; try { result = Double.valueOf(TextArea.getText()).doubleValue(); -- Gitee From 446e31b18bfc5fa4ac70139fc7f8f492c8e77801 Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Mon, 30 May 2022 23:42:09 +0800 Subject: [PATCH 05/21] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ComputerFrame.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index 0afca86..9ecc11c 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -216,9 +216,9 @@ ComputerFrame(){} if(a == 0) TextArea.setText(str + "\n" + "错误,请重新输入"); else TextArea.setText(str + "\n" + 1/a); } - else if (str.contains("/")) { //除法运算 - String str2 = str.substring(0, str.indexOf('/')); - String str3 = str.substring(str.indexOf('/') + 1, str.indexOf('=')); + else if (str.contains("÷")) { //除法运算 + String str2 = str.substring(0, str.indexOf('÷')); + String str3 = str.substring(str.indexOf('÷') + 1, str.indexOf('=')); double a = Double.parseDouble(str2); double b = Double.parseDouble(str3); if (b == 0) TextArea.setText(str + "\n" + "错误,请重新输入"); -- Gitee From 9043a7bca7aaa99bbf09ac30928c3f8cb8d76dcb Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Sat, 4 Jun 2022 23:32:16 +0800 Subject: [PATCH 06/21] =?UTF-8?q?=E9=87=8D=E5=86=99=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E5=99=A8=EF=BC=8C=E8=AE=BE=E7=BD=AE=E4=BA=86=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E3=80=82=E4=B8=BA=E6=8C=89=E9=92=AE=E6=B3=A8=E5=86=8C=E4=BA=86?= =?UTF-8?q?=E7=9B=91=E5=90=AC=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/JSQ.java | 439 ++++++++++++++++++++++++++++++++++++ 1 file changed, 439 insertions(+) create mode 100644 src/java2022spring/JSQ.java diff --git a/src/java2022spring/JSQ.java b/src/java2022spring/JSQ.java new file mode 100644 index 0000000..336e3a4 --- /dev/null +++ b/src/java2022spring/JSQ.java @@ -0,0 +1,439 @@ +package java2022spring; +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowEvent; +import java.awt.event.WindowListener; + +public class JSQ extends Frame implements ActionListener, WindowListener +{ public static void main( String args[] ) +{ + JSQ calculator = new JSQ(); +} + private Container container; + private GridBagLayout layout; + private GridBagConstraints constraints; + private JTextField displayField; //璁$畻缁撴灉鏄剧ず鍖 + private String lastCommand; //淇濆瓨+,-,*,/,=鍛戒护0 + private double result; //淇濆瓨璁$畻缁撴灉 + private boolean start; //鍒ゆ柇鏄惁涓烘暟瀛楃殑寮濮 + private JMenuBar menubar; + private JMenuItem m_exit; + private JMenuItem m2_ejz; + private JMenuItem m2_bjz; + private Dialog dialog; + private Label label_dialog; + private JButton button_sqrt; + private JButton button_plusminus; + private JButton button_CE; + private JButton button_cancel; + private JButton button_1; + private JButton button_2; + private JButton button_3; + private JButton button_4; + private JButton button_5; + private JButton button_6; + private JButton button_7; + private JButton button_8; + private JButton button_9; + private JButton button_0; + private JButton button_plus; + private JButton button_minus; + private JButton button_multiply; + private JButton button_divide; + private JButton button_point; + private JButton button_equal; + private JButton button_log; + private JButton button_tan; + private JButton button_cos; + private JButton button_sin; + private JButton button_exp; + + public JSQ() //鏋勯犳柟娉曡缃竷灞銆佷负鎸夐挳娉ㄥ唽浜嬩欢鐩戝惉鍣 + { + super( "濮滅編鑼滅殑璁$畻鍣" ); + this.setLocation( 300,200 ); + this.setSize( 328,424); + this.setResizable( true ); + this.setLayout( new GridLayout( 7,1 ) );//缃戞牸甯冨眬 + this.addmyMenu(); //璋冪敤鎴愬憳鏂规硶娣诲姞鑿滃崟 + displayField = new JTextField( 30 ); + + displayField.setBackground(new Color(255,182,193)); + displayField.setForeground(new Color(30,57,91)); + + + // 璁剧疆outputField鍐呯殑榛樿鍐呭锛屽簲璇ユ樉绀轰负鈥0鈥 + displayField.setText("0"); + displayField.setFont(new Font("瀹嬩綋",Font.BOLD,25)); + // 绂佹浠庣晫闈紙閿洏锛夊悜outputField杈撳叆淇℃伅锛屽叾鍐呭鍙兘閫氳繃绋嬪簭鍐呴儴鏀瑰彉 + displayField.setEditable(false); + this.setResizable(false); + + this.add( displayField ); + + + start = true; + result = 0; + lastCommand = "="; + + JPanel panel0 = new JPanel(); + + + panel0.setLayout( new GridLayout( 1,4,4,4 ) ); + + + JPanel panel1 = new JPanel(); + panel1.setLayout( new GridLayout( 1,5,4,4 ) ); + this.add( panel1 ); + button_sqrt = new JButton( "sqrt" );//鏍瑰彿 + + button_sqrt.setBackground(new Color(255,182,193)); + button_plusminus = new JButton( "+/-" ); + + button_plusminus.setBackground(new Color(255,182,193)); + button_exp = new JButton( "exp" );//搴曟暟e鐨刵娆″箓 + + button_exp.setBackground(new Color(255,182,193)); + button_CE = new JButton( "閫浣"); + + button_CE.setBackground(new Color(255,182,193)); + button_CE.setForeground(new Color(30,57,91)); + + button_cancel = new JButton( "CE" );//娓呴櫎 + button_cancel.setBackground(new Color(255,182,193)); + button_cancel.setForeground(new Color(30,57,91)); + + + JPanel panel2 = new JPanel(); + panel2.setLayout( new GridLayout( 1,5,4,4 ) ); + this.add( panel2 ); + button_7 = new JButton( "7" ); + button_7.setBackground(new Color(255,182,193)); + + button_7.setForeground(new Color(30,57,91)); + // button_7.setBackground(Color.blue); + button_8 = new JButton( "8" ); + button_8.setBackground(new Color(255,182,193)); +// button_8.setBackground(new Color(233,240,247)); + button_8.setForeground(new Color(30,57,91)); + + // button_8.setBackground(Color.blue); + button_9 = new JButton( "9" ); + button_9.setBackground(new Color(255,182,193)); +// button_9.setBackground(new Color(233,240,247)); + button_9.setForeground(new Color(30,57,91)); + + // button_9.setBackground(Color.blue); + button_log = new JButton( "log" );//瀵规暟 + button_log.setBackground(new Color(255,182,193)); +// button_log.setBackground(new Color(233,240,247)); + button_log.setForeground(new Color(30,57,91)); + + // button_log.setBackground(Color.blue); + button_divide = new JButton( "/" );//闄 + button_divide.setBackground(new Color(255,182,193)); +// button_divide.setBackground(new Color(233,240,247)); + button_divide.setForeground(new Color(30,57,91)); + + // button_divide.setBackground(Color.blue); + + JPanel panel3 = new JPanel(); + panel3.setLayout( new GridLayout(1,5,4,4) ); + this.add( panel3 ); + button_4 = new JButton( "4" ); + button_4.setBackground(new Color(255,182,193)); +// button_4.setBackground(new Color(233,240,247)); + button_4.setForeground(new Color(30,57,91)); + + // button_4.setBackground(Color.blue); + button_5 = new JButton( "5" ); + button_5.setBackground(new Color(255,182,193)); +// button_5.setBackground(new Color(233,240,247)); + button_5.setForeground(new Color(30,57,91)); + + // button_5.setBackground(Color.blue); + button_6 = new JButton( "6" ); + button_6.setBackground(new Color(255,182,193)); +// button_6.setBackground(new Color(233,240,247)); + button_6.setForeground(new Color(30,57,91)); + + // button_6.setBackground(Color.blue); + button_tan = new JButton( "tan" );//姝e垏 + button_tan.setBackground(new Color(255,182,193)); +// button_tan.setBackground(new Color(233,240,247)); + button_tan.setForeground(new Color(30,57,91)); + + //.setBackground(Color.blue); + button_multiply = new JButton( "*" );//涔樻硶 + button_multiply.setBackground(new Color(255,182,193)); +// button_multiply.setBackground(new Color(233,240,247)); + button_multiply.setForeground(new Color(30,57,91)); + + // button_multiply.setBackground(Color.blue); + + JPanel panel4=new JPanel(); + panel4.setLayout( new GridLayout( 1,5,4,4 ) ); + this.add(panel4); + button_1 = new JButton( "1" ); + button_1.setBackground(new Color(255,182,193)); +// button_1.setBackground(new Color(233,240,247)); + button_1.setForeground(new Color(30,57,91)); + + // button_1.setBackground(Color.blue); + button_2 = new JButton( "2" ); + button_2.setBackground(new Color(255,182,193)); +// button_2.setBackground(new Color(233,240,247)); + button_2.setForeground(new Color(30,57,91)); + + // button_2.setBackground(Color.blue); + button_3 = new JButton( "3" ); + button_3.setBackground(new Color(255,182,193)); +// button_3.setBackground(new Color(233,240,247)); + button_3.setForeground(new Color(30,57,91)); + + // button_3.setBackground(Color.blue); + button_cos = new JButton( "cos");//浣欏鸡 + button_cos.setBackground(new Color(255,182,193)); +// button_cos.setBackground(new Color(233,240,247)); + button_cos.setForeground(new Color(30,57,91)); + + // button_cos.setBackground(Color.blue); + button_minus = new JButton( "-" ); + button_minus.setBackground(new Color(255,182,193)); + button_minus.setForeground(new Color(30,57,91)); + + + JPanel panel5 = new JPanel(); + panel5.setLayout( new GridLayout( 1,5,4,4 ) ); + this.add( panel5 ); + + button_point=new JButton( "." ); + button_point.setBackground(new Color(255,182,193)); + button_point.setForeground(new Color(30,57,91)); + + button_0 = new JButton( "0" ); + button_0.setBackground(new Color(255,182,193)); +// button_0.setBackground(new Color(233,240,247)); + button_0.setForeground(new Color(30,57,91)); + + + button_equal = new JButton( "=" ); + button_equal.setBackground(new Color(255,182,193)); + button_equal.setForeground(new Color(30,57,91)); + + button_sin = new JButton( "sin" );//姝e鸡 + button_sin.setBackground(new Color(255,182,193)); + button_sin.setForeground(new Color(30,57,91)); + button_plus = new JButton( "+" ); + button_plus.setBackground(new Color(255,182,193)); + button_plus.setForeground(new Color(30,57,91)); + + + panel1.add( button_sqrt ); + panel1.add( button_plusminus ); + panel1.add( button_exp ); + panel1.add( button_CE ); + panel1.add( button_cancel ); + panel2.add( button_7 ); + panel2.add( button_8 ); + panel2.add( button_9 ); + panel2.add( button_log ); + panel2.add( button_divide ); + panel3.add( button_4 ); + panel3.add( button_5 ); + panel3.add( button_6 ); + panel3.add( button_tan ); + panel3.add( button_multiply ); + panel4.add( button_1 ); + panel4.add( button_2 ); + panel4.add( button_3 ); + panel4.add( button_cos ); + panel4.add( button_minus ); + panel5.add( button_point ); + panel5.add( button_0 ); + // panel5.add( button_point ); + panel5.add( button_equal ); + panel5.add( button_sin ); + panel5.add( button_plus) ; + + button_sqrt.addActionListener( this ); + button_plusminus.addActionListener( this ); + button_exp.addActionListener( this ); + button_CE.addActionListener( this ); + button_cancel.addActionListener( this ); + button_7.addActionListener( this ); + button_8.addActionListener( this ); + button_9.addActionListener( this ); + button_log.addActionListener( this ); + button_divide.addActionListener( this ); + button_4.addActionListener( this ); + button_5.addActionListener( this ); + button_6.addActionListener( this ); + button_tan.addActionListener( this ); + button_multiply.addActionListener( this ); + button_1.addActionListener( this ); + button_2.addActionListener( this ); + button_3.addActionListener( this ); + button_cos.addActionListener( this ); + button_minus.addActionListener( this ); + button_0.addActionListener( this ); + button_point.addActionListener( this ); + button_equal.addActionListener( this ); + button_sin.addActionListener( this ); + button_plus.addActionListener( this ); + + this.addWindowListener( new WinClose() ); //娉ㄥ唽绐楀彛鐩戝惉鍣 + this.setVisible( true ); + + } + + + private void addmyMenu() //鑿滃崟鐨勬坊鍔 + { + JMenuBar menubar = new JMenuBar(); + this.add( menubar ); + + } + + public void actionPerformed(ActionEvent e) //鎸夐挳鐨勫崟鍑讳簨浠跺鐞嗘柟娉 + { + if( + e.getSource().equals( button_1 )||e.getSource().equals( button_2 )|| + e.getSource().equals( button_3 )||e.getSource().equals( button_4 )|| + e.getSource().equals( button_5 )|| e.getSource().equals( button_6 )|| + e.getSource().equals( button_7 )|| e.getSource().equals( button_8 )|| + e.getSource().equals( button_9 ) ||e.getSource().equals( button_0 )|| + e.getSource().equals( button_point )||e.getSource().equals( button_plusminus )|| + e.getSource().equals( button_cancel )||e.getSource().equals( button_CE ) + ) + { //闈炶繍绠楃鐨勫鐞嗘柟娉 + String input = e.getActionCommand(); + + if ( start ) + { + displayField.setText(""); + start = false; + if( input.equals( "+/-" ) ) + displayField.setText( displayField.getText()+ "-" ); + } + if( !input.equals( "+/-" ) ) + { + String str = displayField.getText(); + if( input.equals( "閫浣") ) //閫鏍奸敭鐨勫疄鐜版柟娉 + { + if( str.length() > 0 ) + displayField.setText( str.substring( 0,str.length() - 1 ) ); + } + else if( input.equals( "CE" ) ) //娓呴浂閿殑瀹炵幇鏂规硶 + { + displayField.setText( "0"); + start = true; + } + else + displayField.setText( displayField.getText() + input ); + } + } + else //鍚勮繍绠楃鐨勮瘑鍒 + { + String command = e.getActionCommand(); + + if( start ) + { + lastCommand = command; + } + + else + { + calculate( Double.parseDouble( displayField.getText() ) ); + lastCommand = command; + start = true; + } + } + } + + public void calculate( double x ) //鍚勮繍绠楃鐨勫叿浣撹繍绠楁柟娉 + { + double d = 0; + if ( lastCommand.equals( "+" ) ) + result += x; + + else if (lastCommand.equals( "-" ) ) + result -= x; + + else if ( lastCommand.equals( "*" ) ) + result *= x; + + else if ( lastCommand.equals( "/" ) ) + result /= x; + + else if ( lastCommand.equals( "=" ) ) + result = x; + + else if ( lastCommand.equals( "sqrt" ) ) + { + d = Math.sqrt( x ); + result = d; + + } + else if ( lastCommand.equals( "exp" ) ) + { + d = Math.exp( x ); + result = d; + + } + else if ( lastCommand.equals( "log" ) ) + { + d = Math.log( x ); + result = d; + + } + else if ( lastCommand.equals( "tan" ) ) + { + d = Math.tan(x); + result = d; + + } + else if ( lastCommand.equals( "cos" ) ) + { + d = Math.cos( x ); + result = d; + + } + else if ( lastCommand.equals( "sin" ) ) + { + d = Math.sin( x ); + result = d; + + } + displayField.setText( ""+ result ); + + } + + public void windowClosing( WindowEvent e ) + { + if( e.getSource() == dialog ) + dialog.setVisible( false ); //闅愯棌瀵硅瘽妗 + else + System.exit( 0 ); + } + + public void windowOpened( WindowEvent e ) { } + + public void windowActivated( WindowEvent e ) { } + + public void windowDeactivated( WindowEvent e ) { } + + public void windowClosed( WindowEvent e ) { } + + public void windowIconified( WindowEvent e ) { } + + public void windowDeiconified( WindowEvent e ) { } + + // public static void main( String args[] ) + // { + // JSQ calculator = new JSQ(); + // } +} + -- Gitee From 84d15ae6bb2d90015526b8abda9dd9f435d6186d Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Sat, 4 Jun 2022 23:50:57 +0800 Subject: [PATCH 07/21] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=82=A8=E5=AD=98?= =?UTF-8?q?=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/storageField.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/java2022spring/storageField.java diff --git a/src/java2022spring/storageField.java b/src/java2022spring/storageField.java new file mode 100644 index 0000000..fff3c88 --- /dev/null +++ b/src/java2022spring/storageField.java @@ -0,0 +1,12 @@ +package java2022spring; + +class storageField {//瀛樺偍鍖 + public double storageNum;//瀛樺偍鍖哄瓨鍌ㄧ殑鏁版嵁 + public boolean storageMode;//鏄惁鍚姩瀛樺偍鍖 + + public storageField()//鍒濆鍖栫姸鎬佷笉鍚姩 + { + storageNum = 0; + storageMode = false; + } +} -- Gitee From 2769392a78ac28d7fe4fd98ec68c0b678de94073 Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Sun, 5 Jun 2022 10:11:09 +0800 Subject: [PATCH 08/21] =?UTF-8?q?=E5=90=84=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/WinClose.java | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/java2022spring/WinClose.java diff --git a/src/java2022spring/WinClose.java b/src/java2022spring/WinClose.java new file mode 100644 index 0000000..17b5f5f --- /dev/null +++ b/src/java2022spring/WinClose.java @@ -0,0 +1,30 @@ +package java2022spring; +import java.awt.event.WindowEvent; +import java.awt.event.WindowListener; + +class WinClose implements WindowListener { + public void windowClosing(WindowEvent e) //鍗曞嚮绐楀彛鍏抽棴鎸夐挳鏃惰Е鍙戯紝缁撴潫绋嬪簭 + { + System.exit(0); //缁撴潫绋嬪簭杩愯 + + } + + public void windowOpened(WindowEvent e) { + } + + public void windowActivated(WindowEvent e) { + } + + public void windowDeactivated(WindowEvent e) { + } + + public void windowClosed(WindowEvent e) { + } + + public void windowIconified(WindowEvent e) { + } + + public void windowDeiconified(WindowEvent e) { + } + +} -- Gitee From ff1a26e654e2ed10b1f6ddfb92cbcae053c95bc8 Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Tue, 7 Jun 2022 08:38:53 +0800 Subject: [PATCH 09/21] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BA=86=E5=8E=9F?= =?UTF-8?q?=E6=9C=89=E7=9A=84=E4=BD=BF=E7=94=A8=E4=B8=80=E6=AC=A1=E5=90=8E?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E5=86=8D=E6=AC=A1=E4=BD=BF=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Calculator.java | 6 +- src/java2022spring/ComputerFrame.java | 390 +++++++++++++------------- 2 files changed, 201 insertions(+), 195 deletions(-) diff --git a/src/java2022spring/Calculator.java b/src/java2022spring/Calculator.java index 5903927..9a7e8b6 100644 --- a/src/java2022spring/Calculator.java +++ b/src/java2022spring/Calculator.java @@ -1,9 +1,7 @@ package java2022spring; - public class Calculator { public static void main (String[] args) { - ComputerFrame win =new ComputerFrame("简单计算器",200,50,550,500); + ComputerFrame win =new ComputerFrame("姜美茜的计算器",200,50,550,500); } -} - +} \ No newline at end of file diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index 9ecc11c..cca3b16 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -8,14 +8,16 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ComputerFrame extends JFrame implements ActionListener{ JPanel mianban;//面板 + JPanel keyBoard=new JPanel(); JTextArea TextArea;//文本区 + JButton[][]button=new JButton[5][5];//按钮 ActionListener listener;//监视器 String Mem="0",str1="",str2="",str3=""; String str; //用来保存文本区域的字符串; double result, a, b,c, flag = 0; // flag指示变量,判断按"="前按的是哪个按键 - private StringBuilder sBuilder = new StringBuilder(); //利用StringBuilder类来显示,以及区分两个操作数 + //private StringBuilder sBuilder = new StringBuilder(); //创建StringBuilder对象,以及区分两个操作数 ComputerFrame(){} @@ -24,8 +26,8 @@ ComputerFrame(){} setLocation(x,y); setSize(w,h); setVisible(true); - setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - validate();//会读取变量修改后的最的值 + setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//自动隐藏并释放该窗体 + validate();//验证。会读取变量修改后的最的值 } void init(String s) { setTitle(s); @@ -33,12 +35,14 @@ ComputerFrame(){} LineBorder border = new LineBorder(Color.LIGHT_GRAY, 6, true); TextArea=new JTextArea(2,5);//文本区 - TextArea.setFont(new Font("黑体",Font.BOLD,60)); - TextArea.setBorder(BorderFactory.createLoweredBevelBorder()); + TextArea.setFont(new Font("黑体",Font.BOLD,30));//设计字体显示效果 + + TextArea.setBorder(BorderFactory.createLoweredBevelBorder());//设置边框 + TextArea.add(new JLabel("线边框")); String [][] str= { {"C","CE","%","±","X"}, - {"7","8","9","÷","x^"}, + {"7","8","9","÷","^2"}, {"4","5","6","*","1/x"}, {"1","2","3","+","√"}, {"back","0",".","-","="} @@ -63,225 +67,229 @@ ComputerFrame(){} } + + + + @Override public void actionPerformed(ActionEvent e) {//事件处理 - //if(e.getSource()==button[3][0]||e.getSource()==button[3][1]||e.getSource()==botton[3][2]){ - //str1=e.getActionCommand(); - //TextArea.setText(str1);} - String str1=e.getActionCommand(); + String str1=e.getActionCommand();//str1为被单击的按钮 str = TextArea.getText(); - if(str1.equals("0")) + if(str1.equals("0"))//判断 { - sBuilder.append("0"); //利用StringBuilder类的对象调用方法,将数据存起来 - TextArea.setText(sBuilder.toString()); //显示数据 - } + str2+=0; + TextArea.setText(str2); + } else if(str1.equals("1")) { - sBuilder.append("1"); - TextArea.setText(sBuilder.toString()); + str2+=1; + TextArea.setText(str2); } else if(str1.equals("2")) { - sBuilder.append("2"); - TextArea.setText(sBuilder.toString()); + str2+=2; + TextArea.setText(str2); } else if(str1.equals("3")) { - sBuilder.append("3"); - TextArea.setText(sBuilder.toString()); + str2+=3; + TextArea.setText(str2); } else if(str1.equals("4")) { - sBuilder.append("4"); - TextArea.setText(sBuilder.toString()); - } + str2+=4; + TextArea.setText(str2);} else if(str1.equals("5")) { - sBuilder.append("5"); - TextArea.setText(sBuilder.toString()); + str2+=5; + TextArea.setText(str2); } else if(str1.equals("6")) { - sBuilder.append("6"); - TextArea.setText(sBuilder.toString()); + str2+=6; + TextArea.setText(str2); } else if(str1.equals("7")) { - sBuilder.append("7"); - TextArea.setText(sBuilder.toString()); + str2+=7; + TextArea.setText(str2); } else if(str1.equals("8")) { - sBuilder.append("8"); - TextArea.setText(sBuilder.toString()); + str2+=8; + TextArea.setText(str2); } else if(str1.equals("9")) { - sBuilder.append("9"); - TextArea.setText(sBuilder.toString()); + str2+=8; + TextArea.setText(str2); } else if(str1.equals(".")) { - sBuilder.append("."); - TextArea.setText(sBuilder.toString()); - } - else if(str1.equals("+")) - { - sBuilder.append("+"); - //sBuilder = new StringBuilder(); - TextArea.setText(sBuilder.toString()); - } - else if(str1.equals("-")) - { - sBuilder.append("-"); - //sBuilder = new StringBuilder(); - TextArea.setText(sBuilder.toString()); - } - else if(str1.equals("*")) - { - sBuilder.append("*"); - //sBuilder = new StringBuilder(); - TextArea.setText(sBuilder.toString()); - } - else if(str1.equals("÷")) - { - sBuilder.append("÷"); - //sBuilder = new StringBuilder(); - TextArea.setText(sBuilder.toString()); - } - else if(str1.equals("=")) - { - sBuilder.append("="); - //sBuilder = new StringBuilder(); - TextArea.setText(sBuilder.toString()); - } - else if(str1.equals("x^")) - { - sBuilder.append("x^"); - //sBuilder = new StringBuilder(); - TextArea.setText(sBuilder.toString()); - } - else if(str1.equals("√")) - { - sBuilder.append("√"); - //sBuilder = new StringBuilder(); - TextArea.setText(sBuilder.toString()); - } - else if(str1.equals("%")) - { - sBuilder.append("%"); - //sBuilder = new StringBuilder(); - TextArea.setText(sBuilder.toString()); - } - else if(str1.equals("1/x")) - { - sBuilder.append("1/x"); - //sBuilder = new StringBuilder(); - TextArea.setText(sBuilder.toString()); - } - - else if(str1.equals("CE")) //清除当前的输入的数据 - { - sBuilder.deleteCharAt(sBuilder.length() - 1); - TextArea.setText(sBuilder.toString()); + str2+="."; + TextArea.setText(str2); + }//以上完成了1-9和.操作 + if(str1.equals("+")&&str3==""){ + if(!str2.equals("")){//加号前不等于空 + str3=str2; + str2=""; + TextArea.setText("+"); + flag=1; } - else if(str1.equals("C")) //清除所有数据 - { - - TextArea.setText(sBuilder.toString()); - sBuilder = new StringBuilder(); - - } - - - - if (str.contains("+")) { //如果字符串中包含“+”,做加法运算 - String str2 = str.substring(0, str.indexOf('+')); //获取加数 - String str3 = str.substring(str.indexOf('+') + 1, str.indexOf('=')); //获取被加数 - double a = Double.parseDouble(str2); //转化为double类型 - double b = Double.parseDouble(str3); - TextArea.setText(str + "\n" + (a + b)); - } - else if (str.contains("*")) { //乘法运算 - String str2 = str.substring(0, str.indexOf('*')); - String str3 = str.substring(str.indexOf('*') + 1, str.indexOf('=')); - double a = Double.parseDouble(str2); - double b = Double.parseDouble(str3); - TextArea.setText(str + "\n" + a * b); - } - else if(str.contains("1/x")) { //倒数运算 - String str2 = str.substring(0, str.indexOf("1/x")); - double a = Double.parseDouble(str2); - if(a == 0) TextArea.setText(str + "\n" + "错误,请重新输入"); - else TextArea.setText(str + "\n" + 1/a); - } - else if (str.contains("÷")) { //除法运算 - String str2 = str.substring(0, str.indexOf('÷')); - String str3 = str.substring(str.indexOf('÷') + 1, str.indexOf('=')); - double a = Double.parseDouble(str2); - double b = Double.parseDouble(str3); - if (b == 0) TextArea.setText(str + "\n" + "错误,请重新输入"); - else TextArea.setText(str + "\n" + a / b); - } - else if (str.contains("^2")) { //平方运算 - String str2 = str.substring(0, str.indexOf('^')); - double a = Double.parseDouble(str2); - TextArea.setText(str + "\n" + a * a); - } - else if (str.contains("√")) { //开方运算 - String str2 = str.substring(str.indexOf('√') + 1, str.indexOf('=')); - double a = Double.parseDouble(str2); - TextArea.setText(str + "\n" + Math.sqrt(a)); - } - else if (str.contains("±")) { //加减运算 - String str2 = str.substring(0, str.indexOf('±')); - String str3 = str.substring(str.indexOf('±') + 1, str.indexOf('=')); - double a = Double.parseDouble(str2); - double b = Double.parseDouble(str3); - if (c == 0) TextArea.setText(str + "\n" + a); - else TextArea.setText(str + "\n" + (a + b) + " & " + (a - b)); - } - else if (str.contains("%")) { //百分号运算 - String str2 = str.substring(0, str.indexOf('%')); - double a = Double.parseDouble(str2); - TextArea.setText(str + "\n" + a/100); - - } - else if (str.contains("-")) { //减法运算 - if(str.charAt(0) == '-') { //如果第一个字符是“-”,形如-2-3形式,就转化成为-(2+3)形式 - String str_x = str; - str = str.substring(1); - String str2 = str.substring(0, str.indexOf('-')); - String str3 = str.substring(str.indexOf('-') + 1, str.indexOf('=')); - double a = Double.parseDouble(str2); - double b = Double.parseDouble(str3); - TextArea.setText(str_x + "\n" + (-a-b)); - } - - } - } - - - - - private double getNumberFromText() {//获取文本中的数字进行运算 - double result = 0; - try { - result = Double.valueOf(TextArea.getText()).doubleValue(); - } catch (NumberFormatException e) { + else{ + } + } + if((flag==1)&&str1.equals("=")){//按完加号之后按等于号 + a=Double.parseDouble(str2); //换精度 + b=Double.parseDouble(str3); + result=a+b; + str2=""+result; + TextArea.setText(str2); + flag=0; + }//加法完成 + + if(str1.equals("-")&&str3=="") + if(!str2.equals("")){ + str3=str2; + str2=""; + TextArea.setText("-"); + flag=3; + } + else{str2+="-";//减号也可以是负数运算 + TextArea.setText(str2); + } + + if((flag==3)&&str1.equals("=")){//按完减号之后按等于号 + a=Double.parseDouble(str2); //换精度 + b=Double.parseDouble(str3); + result=b-a; + str2=""+result; + TextArea.setText(str2); + flag=0; + }//减法完成 + if(str1.equals("*")&&str3==""){ + if(!str2.equals("")){//乘号前不等于空 + str3=str2; + str2=""; + TextArea.setText("*"); + flag=4; + } + else{TextArea.setText("错误,请按C键后重新输入"); + } + } + if((flag==4)&&str1.equals("=")){//按完加号之后按等于号 + a=Double.parseDouble(str2); //换精度 + b=Double.parseDouble(str3); + result=a*b; + str2=""+result; + TextArea.setText(str2); + flag=0; + }//乘法完成 + if(str1.equals("÷")&&str3==""){ + if(!str2.equals("")){//除号前不等于空 + str3=str2; + str2=""; + TextArea.setText("÷"); + flag=5; + } + else{TextArea.setText("错误,请按C键后重新输入"); + } + } + if((flag==5)&&str1.equals("=")){//按完除号之后按等于号 + a=Double.parseDouble(str2); //换精度 + b=Double.parseDouble(str3); + result=b/a; + str2=""+result; + TextArea.setText(str2); + flag=0; + }//除法完成 + if(str1.equals("^2")&&str3==""){ + if(!str2.equals("")){//平方前不等于空 + str3=str2;//相等 + TextArea.setText("^2"); + flag=6; + } + else{TextArea.setText("错误,请按C键后重新输入"); + } + } + if((flag==6)&&str1.equals("=")){//按完平方之后按等于号 + a=Double.parseDouble(str2); //换精度 + b=Double.parseDouble(str3); + result=b*a; + str2=""+result; + TextArea.setText(str2); + flag=0; + }//平方完成 + + + + if(str1.equals("√")&&str2==""){//根号前不能有值 + TextArea.setText("√"); + flag=7; + } + if((flag==7)&&str1.equals("=")){ + a=Double.parseDouble(str2); + if(a>=0){//根号内必须大于0 + result=Math.sqrt(a); + str2=""+result; + TextArea.setText(str2); + TextArea.setVisible(true); + } + else{ + TextArea.setText("错误,请按C键后重新输入"); + } + }//开根号完成 + if(str1.equals("1/x")&&str3=="") + { + if(!str2.equals(""))//倒数前不等于空 + {TextArea.setText("1/x"); + flag=8; } + else + {TextArea.setText("错误,请按C键后重新输入");} } - return result; - } - - -} - + if((flag==8)&&str1.equals("=")){//按完倒数之后按等于号 + a=Double.parseDouble(str2); + result=1/a; + str2=""+result; + TextArea.setText(str2); + TextArea.setVisible(true); + }//倒数完成 + + if(str1.equals("CE")){ + if(str3==""&&flag==0){//str2刚赋值 + str2=""; + TextArea.setText(""); + } + if(str3!=""&&str2==""){//str3已赋值 + str3=""; + TextArea.setText(""); + } + if(str3!=""&&str2!=""){//已计算 + str2=""; + TextArea.setText(""); + } + }//CE完成 + + // if(str3==""&&str2!=""&&flag!=0) { + // flag=0; + // TextArea.setText(""); + //}不能在运算符号处用ce,会导致str2数据同时清除 + if(str1.equals("C")) + { + + str1=""; + str2=""; + str3=""; + str=""; + a=0; + b=0; + flag=0; + result=0; + TextArea.setText(str2); + } + + - - - - - - + }} \ No newline at end of file -- Gitee From cd64ed4b5221883ae6902be401fec2c7e32f83cf Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Tue, 7 Jun 2022 12:48:25 +0800 Subject: [PATCH 10/21] =?UTF-8?q?=E8=AE=A1=E7=AE=97=E5=99=A8=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E5=85=A8=E9=83=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ComputerFrame.java | 176 ++++++++++++++++++++++++-- 1 file changed, 167 insertions(+), 9 deletions(-) diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index cca3b16..7a8b7d7 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -16,7 +16,8 @@ public class ComputerFrame extends JFrame implements ActionListener{ ActionListener listener;//监视器 String Mem="0",str1="",str2="",str3=""; String str; //用来保存文本区域的字符串; - double result, a, b,c, flag = 0; // flag指示变量,判断按"="前按的是哪个按键 + int flag = 0; + double result, a, b,c ; // flag指示变量,判断按"="前按的是哪个按键 //private StringBuilder sBuilder = new StringBuilder(); //创建StringBuilder对象,以及区分两个操作数 @@ -41,7 +42,7 @@ ComputerFrame(){} TextArea.setBorder(BorderFactory.createLoweredBevelBorder());//设置边框 TextArea.add(new JLabel("线边框")); String [][] str= { - {"C","CE","%","±","X"}, + {"C","CE","%","|x|","mod"}, {"7","8","9","÷","^2"}, {"4","5","6","*","1/x"}, {"1","2","3","+","√"}, @@ -122,7 +123,7 @@ ComputerFrame(){} } else if(str1.equals("9")) { - str2+=8; + str2+=9; TextArea.setText(str2); } else if(str1.equals(".")) @@ -152,8 +153,9 @@ ComputerFrame(){} if(str1.equals("-")&&str3=="") if(!str2.equals("")){ str3=str2; - str2=""; + TextArea.setText("-"); + str2=""; flag=3; } else{str2+="-";//减号也可以是负数运算 @@ -256,6 +258,58 @@ ComputerFrame(){} TextArea.setVisible(true); }//倒数完成 + + + + if(str1.equals("%")&&str3==""){ + if(!str2.equals("")){ + + TextArea.setText("%"); + flag=9;} + else{TextArea.setText("错误,请按C键后重新输入"); + }} + + if(flag==9&&str1.equals("=")) + {a=Double.parseDouble(str2); + result=a/100; + str2=""+result; + TextArea.setText(str2); + TextArea.setVisible(true); + flag=0; + } + + if(str1.equals("|x|")&&str2!=""){//绝对值之前不能没有值 + TextArea.setText("|x|"); + flag=10; + } if((flag==10)&&str1.equals("=")){ + a=Double.parseDouble(str2); + if(a>=0){ + result=a; + str2=""+result; + TextArea.setText(str2); + TextArea.setVisible(true); + } + else{ + result=a*(-1); + str2=""+result; + TextArea.setText(str2); + TextArea.setVisible(true); + } + }//绝对值完成 + if(str1.equals("mod")){ + str3=str2; + str2=""; + TextArea.setText("mod"); + flag=11; + } + if(flag==11&&str1.equals("=")){ + a=Double.parseDouble(str2); + b=Double.parseDouble(str3); + result=b%a; + str2=result+""; + TextArea.setText(str2); + flag=0; + }//取余完成 if(str1.equals("CE")){ if(str3==""&&flag==0){//str2刚赋值 str2=""; @@ -275,10 +329,8 @@ ComputerFrame(){} // flag=0; // TextArea.setText(""); //}不能在运算符号处用ce,会导致str2数据同时清除 - if(str1.equals("C")) - { - - str1=""; + if(str1.equals("C"))//全部初始化 + { str1=""; str2=""; str3=""; str=""; @@ -287,9 +339,115 @@ ComputerFrame(){} flag=0; result=0; TextArea.setText(str2); + }//C键清除完成 + if(str1.equals("back")){ + if(str2.length()==0){ + str2=""; } + else{ + char []num=TextArea.getText().toCharArray(); + TextArea.setText(String.valueOf(num,0,TextArea.getText().length()-1)); + str2=TextArea.getText(); + } + }//backspace完成 + // + + - + if(str2!=""&&str3!=""&&str1.equals("+")){//连续运算之加法 + a=Double.parseDouble(str2); + b=Double.parseDouble(str3); + switch(flag){ + case 1: + result=a+b; + break; + case 3: + result=b-a; + break; + case 4: + result=a*b; + break; + case 5: + result=b/a; + break; + } + str2=""+result; + TextArea.setText(str2); + str3=str2; + str2=""; + flag=1; + } + if(str2!=""&&str3!=""&&str1.equals("-")){//连续运算之减法 + a=Double.parseDouble(str2); + b=Double.parseDouble(str3); + switch(flag){ + case 1: + result=a+b; + break; + case 3: + result=b-a; + break; + case 4: + result=a*b; + break; + case 5: + result=b/a; + break; + } + str2=""+result; + TextArea.setText(str2); + str3=str2; + str2=""; + flag=3; + } + if(str2!=""&&str3!=""&&str1.equals("*")){//连续运算之乘法 + a=Double.parseDouble(str2); + b=Double.parseDouble(str3); + switch(flag){ + case 1: + result=a+b; + break; + case 3: + result=b-a; + break; + case 4: + result=a*b; + break; + case 5: + result=b/a; + break; + } + str2=""+result; + TextArea.setText(str2); + str3=str2; + str2=""; + flag=4; + } + if(str1!=""&&str2!=""&&str1.equals("÷")){//连续运算之除法 + //a=Double.parseDouble(str2); + // b=Double.parseDouble(str3); + switch(flag){ + case 1: + result=a+b; + break; + case 3: + result=b-a; + break; + case 4: + result=a*b; + break; + case 5: + result=b/a; + break; + } + str2=""+result; + TextArea.setText(str2); + str3=str2; + str2=""; + flag=5; + } + + }} \ No newline at end of file -- Gitee From 7c2681ce7223a79016182a9a989919ddbce07894 Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Tue, 7 Jun 2022 12:48:50 +0800 Subject: [PATCH 11/21] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ComputerFrame.java | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index 7a8b7d7..e618ed3 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -11,18 +11,18 @@ public class ComputerFrame extends JFrame implements ActionListener{ JPanel keyBoard=new JPanel(); JTextArea TextArea;//文本区 - JButton[][]button=new JButton[5][5];//按钮 ActionListener listener;//监视器 - String Mem="0",str1="",str2="",str3=""; - String str; //用来保存文本区域的字符串; + String str1="",str2="",str3=""; + String str; // int flag = 0; - double result, a, b,c ; // flag指示变量,判断按"="前按的是哪个按键 - //private StringBuilder sBuilder = new StringBuilder(); //创建StringBuilder对象,以及区分两个操作数 + double result, a, b; // flag指示变量,判断按"="前按的是哪个按键 + ComputerFrame(){} - public ComputerFrame(String s,int x,int y,int w,int h) { + public ComputerFrame(String s,int x,int y,int w,int h) + { init(s); setLocation(x,y); setSize(w,h); @@ -35,10 +35,7 @@ ComputerFrame(){} //setLayout(new BorderLayout(5,5));//布局 LineBorder border = new LineBorder(Color.LIGHT_GRAY, 6, true); TextArea=new JTextArea(2,5);//文本区 - - TextArea.setFont(new Font("黑体",Font.BOLD,30));//设计字体显示效果 - TextArea.setBorder(BorderFactory.createLoweredBevelBorder());//设置边框 TextArea.add(new JLabel("线边框")); String [][] str= { @@ -48,7 +45,7 @@ ComputerFrame(){} {"1","2","3","+","√"}, {"back","0",".","-","="} - }; + }; mianban=new JPanel(); mianban.setLayout(new BorderLayout());//布局 keyBoard.setLayout(new GridLayout(5,5));//布局 @@ -59,8 +56,8 @@ ComputerFrame(){} keyBoard.add(button[i][j]);//把符号放入面板中 button[i][j].addActionListener( this );//设置监视器 - } - } + } + } mianban.add(TextArea,BorderLayout.NORTH);//面板设计 mianban.add(keyBoard,BorderLayout.CENTER);//面板设计 @@ -69,9 +66,6 @@ ComputerFrame(){} } - - - @Override public void actionPerformed(ActionEvent e) {//事件处理 @@ -100,7 +94,8 @@ ComputerFrame(){} else if(str1.equals("4")) { str2+=4; - TextArea.setText(str2);} + TextArea.setText(str2); + } else if(str1.equals("5")) { str2+=5; -- Gitee From b078738a59072581387eb674f5343d6ad3ed9b6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E7=BE=8E=E8=8C=9C?= <10945469+jiang-meiqian@user.noreply.gitee.com> Date: Tue, 7 Jun 2022 04:53:37 +0000 Subject: [PATCH 12/21] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20sr?= =?UTF-8?q?c/java2022spring/JSQ.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/JSQ.java | 439 ------------------------------------ 1 file changed, 439 deletions(-) delete mode 100644 src/java2022spring/JSQ.java diff --git a/src/java2022spring/JSQ.java b/src/java2022spring/JSQ.java deleted file mode 100644 index 336e3a4..0000000 --- a/src/java2022spring/JSQ.java +++ /dev/null @@ -1,439 +0,0 @@ -package java2022spring; -import javax.swing.*; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.WindowEvent; -import java.awt.event.WindowListener; - -public class JSQ extends Frame implements ActionListener, WindowListener -{ public static void main( String args[] ) -{ - JSQ calculator = new JSQ(); -} - private Container container; - private GridBagLayout layout; - private GridBagConstraints constraints; - private JTextField displayField; //璁$畻缁撴灉鏄剧ず鍖 - private String lastCommand; //淇濆瓨+,-,*,/,=鍛戒护0 - private double result; //淇濆瓨璁$畻缁撴灉 - private boolean start; //鍒ゆ柇鏄惁涓烘暟瀛楃殑寮濮 - private JMenuBar menubar; - private JMenuItem m_exit; - private JMenuItem m2_ejz; - private JMenuItem m2_bjz; - private Dialog dialog; - private Label label_dialog; - private JButton button_sqrt; - private JButton button_plusminus; - private JButton button_CE; - private JButton button_cancel; - private JButton button_1; - private JButton button_2; - private JButton button_3; - private JButton button_4; - private JButton button_5; - private JButton button_6; - private JButton button_7; - private JButton button_8; - private JButton button_9; - private JButton button_0; - private JButton button_plus; - private JButton button_minus; - private JButton button_multiply; - private JButton button_divide; - private JButton button_point; - private JButton button_equal; - private JButton button_log; - private JButton button_tan; - private JButton button_cos; - private JButton button_sin; - private JButton button_exp; - - public JSQ() //鏋勯犳柟娉曡缃竷灞銆佷负鎸夐挳娉ㄥ唽浜嬩欢鐩戝惉鍣 - { - super( "濮滅編鑼滅殑璁$畻鍣" ); - this.setLocation( 300,200 ); - this.setSize( 328,424); - this.setResizable( true ); - this.setLayout( new GridLayout( 7,1 ) );//缃戞牸甯冨眬 - this.addmyMenu(); //璋冪敤鎴愬憳鏂规硶娣诲姞鑿滃崟 - displayField = new JTextField( 30 ); - - displayField.setBackground(new Color(255,182,193)); - displayField.setForeground(new Color(30,57,91)); - - - // 璁剧疆outputField鍐呯殑榛樿鍐呭锛屽簲璇ユ樉绀轰负鈥0鈥 - displayField.setText("0"); - displayField.setFont(new Font("瀹嬩綋",Font.BOLD,25)); - // 绂佹浠庣晫闈紙閿洏锛夊悜outputField杈撳叆淇℃伅锛屽叾鍐呭鍙兘閫氳繃绋嬪簭鍐呴儴鏀瑰彉 - displayField.setEditable(false); - this.setResizable(false); - - this.add( displayField ); - - - start = true; - result = 0; - lastCommand = "="; - - JPanel panel0 = new JPanel(); - - - panel0.setLayout( new GridLayout( 1,4,4,4 ) ); - - - JPanel panel1 = new JPanel(); - panel1.setLayout( new GridLayout( 1,5,4,4 ) ); - this.add( panel1 ); - button_sqrt = new JButton( "sqrt" );//鏍瑰彿 - - button_sqrt.setBackground(new Color(255,182,193)); - button_plusminus = new JButton( "+/-" ); - - button_plusminus.setBackground(new Color(255,182,193)); - button_exp = new JButton( "exp" );//搴曟暟e鐨刵娆″箓 - - button_exp.setBackground(new Color(255,182,193)); - button_CE = new JButton( "閫浣"); - - button_CE.setBackground(new Color(255,182,193)); - button_CE.setForeground(new Color(30,57,91)); - - button_cancel = new JButton( "CE" );//娓呴櫎 - button_cancel.setBackground(new Color(255,182,193)); - button_cancel.setForeground(new Color(30,57,91)); - - - JPanel panel2 = new JPanel(); - panel2.setLayout( new GridLayout( 1,5,4,4 ) ); - this.add( panel2 ); - button_7 = new JButton( "7" ); - button_7.setBackground(new Color(255,182,193)); - - button_7.setForeground(new Color(30,57,91)); - // button_7.setBackground(Color.blue); - button_8 = new JButton( "8" ); - button_8.setBackground(new Color(255,182,193)); -// button_8.setBackground(new Color(233,240,247)); - button_8.setForeground(new Color(30,57,91)); - - // button_8.setBackground(Color.blue); - button_9 = new JButton( "9" ); - button_9.setBackground(new Color(255,182,193)); -// button_9.setBackground(new Color(233,240,247)); - button_9.setForeground(new Color(30,57,91)); - - // button_9.setBackground(Color.blue); - button_log = new JButton( "log" );//瀵规暟 - button_log.setBackground(new Color(255,182,193)); -// button_log.setBackground(new Color(233,240,247)); - button_log.setForeground(new Color(30,57,91)); - - // button_log.setBackground(Color.blue); - button_divide = new JButton( "/" );//闄 - button_divide.setBackground(new Color(255,182,193)); -// button_divide.setBackground(new Color(233,240,247)); - button_divide.setForeground(new Color(30,57,91)); - - // button_divide.setBackground(Color.blue); - - JPanel panel3 = new JPanel(); - panel3.setLayout( new GridLayout(1,5,4,4) ); - this.add( panel3 ); - button_4 = new JButton( "4" ); - button_4.setBackground(new Color(255,182,193)); -// button_4.setBackground(new Color(233,240,247)); - button_4.setForeground(new Color(30,57,91)); - - // button_4.setBackground(Color.blue); - button_5 = new JButton( "5" ); - button_5.setBackground(new Color(255,182,193)); -// button_5.setBackground(new Color(233,240,247)); - button_5.setForeground(new Color(30,57,91)); - - // button_5.setBackground(Color.blue); - button_6 = new JButton( "6" ); - button_6.setBackground(new Color(255,182,193)); -// button_6.setBackground(new Color(233,240,247)); - button_6.setForeground(new Color(30,57,91)); - - // button_6.setBackground(Color.blue); - button_tan = new JButton( "tan" );//姝e垏 - button_tan.setBackground(new Color(255,182,193)); -// button_tan.setBackground(new Color(233,240,247)); - button_tan.setForeground(new Color(30,57,91)); - - //.setBackground(Color.blue); - button_multiply = new JButton( "*" );//涔樻硶 - button_multiply.setBackground(new Color(255,182,193)); -// button_multiply.setBackground(new Color(233,240,247)); - button_multiply.setForeground(new Color(30,57,91)); - - // button_multiply.setBackground(Color.blue); - - JPanel panel4=new JPanel(); - panel4.setLayout( new GridLayout( 1,5,4,4 ) ); - this.add(panel4); - button_1 = new JButton( "1" ); - button_1.setBackground(new Color(255,182,193)); -// button_1.setBackground(new Color(233,240,247)); - button_1.setForeground(new Color(30,57,91)); - - // button_1.setBackground(Color.blue); - button_2 = new JButton( "2" ); - button_2.setBackground(new Color(255,182,193)); -// button_2.setBackground(new Color(233,240,247)); - button_2.setForeground(new Color(30,57,91)); - - // button_2.setBackground(Color.blue); - button_3 = new JButton( "3" ); - button_3.setBackground(new Color(255,182,193)); -// button_3.setBackground(new Color(233,240,247)); - button_3.setForeground(new Color(30,57,91)); - - // button_3.setBackground(Color.blue); - button_cos = new JButton( "cos");//浣欏鸡 - button_cos.setBackground(new Color(255,182,193)); -// button_cos.setBackground(new Color(233,240,247)); - button_cos.setForeground(new Color(30,57,91)); - - // button_cos.setBackground(Color.blue); - button_minus = new JButton( "-" ); - button_minus.setBackground(new Color(255,182,193)); - button_minus.setForeground(new Color(30,57,91)); - - - JPanel panel5 = new JPanel(); - panel5.setLayout( new GridLayout( 1,5,4,4 ) ); - this.add( panel5 ); - - button_point=new JButton( "." ); - button_point.setBackground(new Color(255,182,193)); - button_point.setForeground(new Color(30,57,91)); - - button_0 = new JButton( "0" ); - button_0.setBackground(new Color(255,182,193)); -// button_0.setBackground(new Color(233,240,247)); - button_0.setForeground(new Color(30,57,91)); - - - button_equal = new JButton( "=" ); - button_equal.setBackground(new Color(255,182,193)); - button_equal.setForeground(new Color(30,57,91)); - - button_sin = new JButton( "sin" );//姝e鸡 - button_sin.setBackground(new Color(255,182,193)); - button_sin.setForeground(new Color(30,57,91)); - button_plus = new JButton( "+" ); - button_plus.setBackground(new Color(255,182,193)); - button_plus.setForeground(new Color(30,57,91)); - - - panel1.add( button_sqrt ); - panel1.add( button_plusminus ); - panel1.add( button_exp ); - panel1.add( button_CE ); - panel1.add( button_cancel ); - panel2.add( button_7 ); - panel2.add( button_8 ); - panel2.add( button_9 ); - panel2.add( button_log ); - panel2.add( button_divide ); - panel3.add( button_4 ); - panel3.add( button_5 ); - panel3.add( button_6 ); - panel3.add( button_tan ); - panel3.add( button_multiply ); - panel4.add( button_1 ); - panel4.add( button_2 ); - panel4.add( button_3 ); - panel4.add( button_cos ); - panel4.add( button_minus ); - panel5.add( button_point ); - panel5.add( button_0 ); - // panel5.add( button_point ); - panel5.add( button_equal ); - panel5.add( button_sin ); - panel5.add( button_plus) ; - - button_sqrt.addActionListener( this ); - button_plusminus.addActionListener( this ); - button_exp.addActionListener( this ); - button_CE.addActionListener( this ); - button_cancel.addActionListener( this ); - button_7.addActionListener( this ); - button_8.addActionListener( this ); - button_9.addActionListener( this ); - button_log.addActionListener( this ); - button_divide.addActionListener( this ); - button_4.addActionListener( this ); - button_5.addActionListener( this ); - button_6.addActionListener( this ); - button_tan.addActionListener( this ); - button_multiply.addActionListener( this ); - button_1.addActionListener( this ); - button_2.addActionListener( this ); - button_3.addActionListener( this ); - button_cos.addActionListener( this ); - button_minus.addActionListener( this ); - button_0.addActionListener( this ); - button_point.addActionListener( this ); - button_equal.addActionListener( this ); - button_sin.addActionListener( this ); - button_plus.addActionListener( this ); - - this.addWindowListener( new WinClose() ); //娉ㄥ唽绐楀彛鐩戝惉鍣 - this.setVisible( true ); - - } - - - private void addmyMenu() //鑿滃崟鐨勬坊鍔 - { - JMenuBar menubar = new JMenuBar(); - this.add( menubar ); - - } - - public void actionPerformed(ActionEvent e) //鎸夐挳鐨勫崟鍑讳簨浠跺鐞嗘柟娉 - { - if( - e.getSource().equals( button_1 )||e.getSource().equals( button_2 )|| - e.getSource().equals( button_3 )||e.getSource().equals( button_4 )|| - e.getSource().equals( button_5 )|| e.getSource().equals( button_6 )|| - e.getSource().equals( button_7 )|| e.getSource().equals( button_8 )|| - e.getSource().equals( button_9 ) ||e.getSource().equals( button_0 )|| - e.getSource().equals( button_point )||e.getSource().equals( button_plusminus )|| - e.getSource().equals( button_cancel )||e.getSource().equals( button_CE ) - ) - { //闈炶繍绠楃鐨勫鐞嗘柟娉 - String input = e.getActionCommand(); - - if ( start ) - { - displayField.setText(""); - start = false; - if( input.equals( "+/-" ) ) - displayField.setText( displayField.getText()+ "-" ); - } - if( !input.equals( "+/-" ) ) - { - String str = displayField.getText(); - if( input.equals( "閫浣") ) //閫鏍奸敭鐨勫疄鐜版柟娉 - { - if( str.length() > 0 ) - displayField.setText( str.substring( 0,str.length() - 1 ) ); - } - else if( input.equals( "CE" ) ) //娓呴浂閿殑瀹炵幇鏂规硶 - { - displayField.setText( "0"); - start = true; - } - else - displayField.setText( displayField.getText() + input ); - } - } - else //鍚勮繍绠楃鐨勮瘑鍒 - { - String command = e.getActionCommand(); - - if( start ) - { - lastCommand = command; - } - - else - { - calculate( Double.parseDouble( displayField.getText() ) ); - lastCommand = command; - start = true; - } - } - } - - public void calculate( double x ) //鍚勮繍绠楃鐨勫叿浣撹繍绠楁柟娉 - { - double d = 0; - if ( lastCommand.equals( "+" ) ) - result += x; - - else if (lastCommand.equals( "-" ) ) - result -= x; - - else if ( lastCommand.equals( "*" ) ) - result *= x; - - else if ( lastCommand.equals( "/" ) ) - result /= x; - - else if ( lastCommand.equals( "=" ) ) - result = x; - - else if ( lastCommand.equals( "sqrt" ) ) - { - d = Math.sqrt( x ); - result = d; - - } - else if ( lastCommand.equals( "exp" ) ) - { - d = Math.exp( x ); - result = d; - - } - else if ( lastCommand.equals( "log" ) ) - { - d = Math.log( x ); - result = d; - - } - else if ( lastCommand.equals( "tan" ) ) - { - d = Math.tan(x); - result = d; - - } - else if ( lastCommand.equals( "cos" ) ) - { - d = Math.cos( x ); - result = d; - - } - else if ( lastCommand.equals( "sin" ) ) - { - d = Math.sin( x ); - result = d; - - } - displayField.setText( ""+ result ); - - } - - public void windowClosing( WindowEvent e ) - { - if( e.getSource() == dialog ) - dialog.setVisible( false ); //闅愯棌瀵硅瘽妗 - else - System.exit( 0 ); - } - - public void windowOpened( WindowEvent e ) { } - - public void windowActivated( WindowEvent e ) { } - - public void windowDeactivated( WindowEvent e ) { } - - public void windowClosed( WindowEvent e ) { } - - public void windowIconified( WindowEvent e ) { } - - public void windowDeiconified( WindowEvent e ) { } - - // public static void main( String args[] ) - // { - // JSQ calculator = new JSQ(); - // } -} - -- Gitee From 92c382d04570f2944364ac868df10a0e5aee9873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E7=BE=8E=E8=8C=9C?= <10945469+jiang-meiqian@user.noreply.gitee.com> Date: Tue, 7 Jun 2022 04:53:44 +0000 Subject: [PATCH 13/21] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20sr?= =?UTF-8?q?c/java2022spring/storageField.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/storageField.java | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 src/java2022spring/storageField.java diff --git a/src/java2022spring/storageField.java b/src/java2022spring/storageField.java deleted file mode 100644 index fff3c88..0000000 --- a/src/java2022spring/storageField.java +++ /dev/null @@ -1,12 +0,0 @@ -package java2022spring; - -class storageField {//瀛樺偍鍖 - public double storageNum;//瀛樺偍鍖哄瓨鍌ㄧ殑鏁版嵁 - public boolean storageMode;//鏄惁鍚姩瀛樺偍鍖 - - public storageField()//鍒濆鍖栫姸鎬佷笉鍚姩 - { - storageNum = 0; - storageMode = false; - } -} -- Gitee From 31a9983dbdedeb443b3e8ae7f95b7620f25a422b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E7=BE=8E=E8=8C=9C?= <10945469+jiang-meiqian@user.noreply.gitee.com> Date: Tue, 7 Jun 2022 04:53:52 +0000 Subject: [PATCH 14/21] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20sr?= =?UTF-8?q?c/java2022spring/WinClose.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/WinClose.java | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 src/java2022spring/WinClose.java diff --git a/src/java2022spring/WinClose.java b/src/java2022spring/WinClose.java deleted file mode 100644 index 17b5f5f..0000000 --- a/src/java2022spring/WinClose.java +++ /dev/null @@ -1,30 +0,0 @@ -package java2022spring; -import java.awt.event.WindowEvent; -import java.awt.event.WindowListener; - -class WinClose implements WindowListener { - public void windowClosing(WindowEvent e) //鍗曞嚮绐楀彛鍏抽棴鎸夐挳鏃惰Е鍙戯紝缁撴潫绋嬪簭 - { - System.exit(0); //缁撴潫绋嬪簭杩愯 - - } - - public void windowOpened(WindowEvent e) { - } - - public void windowActivated(WindowEvent e) { - } - - public void windowDeactivated(WindowEvent e) { - } - - public void windowClosed(WindowEvent e) { - } - - public void windowIconified(WindowEvent e) { - } - - public void windowDeiconified(WindowEvent e) { - } - -} -- Gitee From 0df1ff7a64e67cd7b08e63532c57107eb1bbf43b Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Tue, 7 Jun 2022 12:57:09 +0800 Subject: [PATCH 15/21] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=BA=86=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ComputerFrame.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index e618ed3..be1a18f 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -419,8 +419,8 @@ ComputerFrame(){} flag=4; } if(str1!=""&&str2!=""&&str1.equals("÷")){//连续运算之除法 - //a=Double.parseDouble(str2); - // b=Double.parseDouble(str3); + a=Double.parseDouble(str2); + b=Double.parseDouble(str3); switch(flag){ case 1: result=a+b; -- Gitee From a868f159ee539512948b8d6816f82ccc027d57c0 Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Tue, 7 Jun 2022 12:59:18 +0800 Subject: [PATCH 16/21] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=BA=86=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ComputerFrame.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index be1a18f..d05a770 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -345,7 +345,7 @@ ComputerFrame(){} str2=TextArea.getText(); } }//backspace完成 - // + -- Gitee From dfc96522b8ca602c24ef84d892b4eb4e8b9c87d4 Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Tue, 7 Jun 2022 13:02:49 +0800 Subject: [PATCH 17/21] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ComputerFrame.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index d05a770..60f0ad9 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -32,7 +32,7 @@ ComputerFrame(){} } void init(String s) { setTitle(s); - //setLayout(new BorderLayout(5,5));//布局 + //setLayout(new BorderLayout(5,5)) LineBorder border = new LineBorder(Color.LIGHT_GRAY, 6, true); TextArea=new JTextArea(2,5);//文本区 TextArea.setFont(new Font("黑体",Font.BOLD,30));//设计字体显示效果 @@ -320,9 +320,7 @@ ComputerFrame(){} } }//CE完成 - // if(str3==""&&str2!=""&&flag!=0) { - // flag=0; - // TextArea.setText(""); + //}不能在运算符号处用ce,会导致str2数据同时清除 if(str1.equals("C"))//全部初始化 { str1=""; -- Gitee From d3551f2f1b16ae61f35eff0f66f41b08cd5a4488 Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Tue, 7 Jun 2022 13:07:01 +0800 Subject: [PATCH 18/21] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=BA=86=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ComputerFrame.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index 60f0ad9..d4dcd77 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -33,7 +33,7 @@ ComputerFrame(){} void init(String s) { setTitle(s); //setLayout(new BorderLayout(5,5)) - LineBorder border = new LineBorder(Color.LIGHT_GRAY, 6, true); + //LineBorder border = new LineBorder(Color.LIGHT_GRAY, 6, true); TextArea=new JTextArea(2,5);//文本区 TextArea.setFont(new Font("黑体",Font.BOLD,30));//设计字体显示效果 TextArea.setBorder(BorderFactory.createLoweredBevelBorder());//设置边框 -- Gitee From debe431344ca30099ccc6ab044c96b57407423ea Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Wed, 8 Jun 2022 12:42:51 +0800 Subject: [PATCH 19/21] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ComputerFrame.java | 42 +++++++++++++++------------ 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index d4dcd77..4acba63 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -14,13 +14,12 @@ public class ComputerFrame extends JFrame implements ActionListener{ JButton[][]button=new JButton[5][5];//按钮 ActionListener listener;//监视器 String str1="",str2="",str3=""; - String str; // - int flag = 0; - double result, a, b; // flag指示变量,判断按"="前按的是哪个按键 + int flag = 0;// flag指示变量,判断按"="前按的是哪个按键 + double result, a, b; -ComputerFrame(){} +ComputerFrame(){}//布局 public ComputerFrame(String s,int x,int y,int w,int h) { init(s); @@ -28,17 +27,17 @@ ComputerFrame(){} setSize(w,h); setVisible(true); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//自动隐藏并释放该窗体 - validate();//验证。会读取变量修改后的最的值 + validate();//验证 } void init(String s) { setTitle(s); //setLayout(new BorderLayout(5,5)) - //LineBorder border = new LineBorder(Color.LIGHT_GRAY, 6, true); + LineBorder border = new LineBorder(Color.LIGHT_GRAY, 6, true); TextArea=new JTextArea(2,5);//文本区 TextArea.setFont(new Font("黑体",Font.BOLD,30));//设计字体显示效果 TextArea.setBorder(BorderFactory.createLoweredBevelBorder());//设置边框 TextArea.add(new JLabel("线边框")); - String [][] str= { + String [][] str= {//依次插入 {"C","CE","%","|x|","mod"}, {"7","8","9","÷","^2"}, {"4","5","6","*","1/x"}, @@ -70,7 +69,7 @@ ComputerFrame(){} public void actionPerformed(ActionEvent e) {//事件处理 String str1=e.getActionCommand();//str1为被单击的按钮 - str = TextArea.getText(); + if(str1.equals("0"))//判断 { str2+=0; @@ -236,7 +235,9 @@ ComputerFrame(){} else{ TextArea.setText("错误,请按C键后重新输入"); } - }//开根号完成 + }//开根号完成 + + if(str1.equals("1/x")&&str3=="") { if(!str2.equals(""))//倒数前不等于空 @@ -290,7 +291,7 @@ ComputerFrame(){} TextArea.setText(str2); TextArea.setVisible(true); } - }//绝对值完成 + }//绝对值完成 if(str1.equals("mod")){ str3=str2; str2=""; @@ -304,7 +305,8 @@ ComputerFrame(){} str2=result+""; TextArea.setText(str2); flag=0; - }//取余完成 + + }//取余完成 if(str1.equals("CE")){ if(str3==""&&flag==0){//str2刚赋值 str2=""; @@ -318,21 +320,24 @@ ComputerFrame(){} str2=""; TextArea.setText(""); } - }//CE完成 + }//CE完成 - - //}不能在运算符号处用ce,会导致str2数据同时清除 + + + //不能在运算符号处用ce,会导致str2数据同时清除 if(str1.equals("C"))//全部初始化 { str1=""; str2=""; str3=""; - str=""; a=0; b=0; flag=0; result=0; TextArea.setText(str2); }//C键清除完成 + + + if(str1.equals("back")){ if(str2.length()==0){ str2=""; @@ -438,9 +443,8 @@ ComputerFrame(){} str3=str2; str2=""; flag=5; - } - - + }//以上计算机内容全部完成 + } - }} \ No newline at end of file + } \ No newline at end of file -- Gitee From 646090a6851e7d036833bb2a42f640cd5930d059 Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Wed, 8 Jun 2022 22:24:02 +0800 Subject: [PATCH 20/21] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ComputerFrame.java | 32 +++++++++++++++++---------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index 4acba63..b3cb68f 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -31,7 +31,7 @@ ComputerFrame(){}// } void init(String s) { setTitle(s); - //setLayout(new BorderLayout(5,5)) + setLayout(new BorderLayout(5,5)); LineBorder border = new LineBorder(Color.LIGHT_GRAY, 6, true); TextArea=new JTextArea(2,5);//文本区 TextArea.setFont(new Font("黑体",Font.BOLD,30));//设计字体显示效果 @@ -65,6 +65,8 @@ ComputerFrame(){}// } + + @Override public void actionPerformed(ActionEvent e) {//事件处理 @@ -125,6 +127,7 @@ ComputerFrame(){}// str2+="."; TextArea.setText(str2); }//以上完成了1-9和.操作 + if(str1.equals("+")&&str3==""){ if(!str2.equals("")){//加号前不等于空 str3=str2; @@ -132,17 +135,18 @@ ComputerFrame(){}// TextArea.setText("+"); flag=1; } - else{ - } + else{TextArea.setText("错误,请按C键后重新输入");} + } if((flag==1)&&str1.equals("=")){//按完加号之后按等于号 + a=Double.parseDouble(str2); //换精度 b=Double.parseDouble(str3); result=a+b; str2=""+result; TextArea.setText(str2); - flag=0; - }//加法完成 + flag=0;} + //加法完成 if(str1.equals("-")&&str3=="") if(!str2.equals("")){ @@ -272,12 +276,14 @@ ComputerFrame(){}// TextArea.setText(str2); TextArea.setVisible(true); flag=0; - } + }//百分号完成 if(str1.equals("|x|")&&str2!=""){//绝对值之前不能没有值 + TextArea.setText("|x|"); flag=10; - } if((flag==10)&&str1.equals("=")){ + } + if((flag==10)){//不用按等于号就可以实现 &&str1.equals("=") a=Double.parseDouble(str2); if(a>=0){ result=a; @@ -292,12 +298,14 @@ ComputerFrame(){}// TextArea.setVisible(true); } }//绝对值完成 - if(str1.equals("mod")){ + if(str1.equals("mod")&&str3==""){ + if(!str2.equals("")){//除号前不等于空 str3=str2; str2=""; TextArea.setText("mod"); - flag=11; - } + flag=11;} + else {TextArea.setText("错误,请按C键后重新输入"); + }} if(flag==11&&str1.equals("=")){ a=Double.parseDouble(str2); b=Double.parseDouble(str3); @@ -306,7 +314,7 @@ ComputerFrame(){}// TextArea.setText(str2); flag=0; - }//取余完成 + }//取余完成 if(str1.equals("CE")){ if(str3==""&&flag==0){//str2刚赋值 str2=""; @@ -447,4 +455,4 @@ ComputerFrame(){}// } - } \ No newline at end of file + } \ No newline at end of file -- Gitee From 0080fc7fcaae5a42a2610d80fa0a88f3a7111179 Mon Sep 17 00:00:00 2001 From: 26637 <26637@LAPTOP-PBUDESIH> Date: Thu, 9 Jun 2022 12:37:42 +0800 Subject: [PATCH 21/21] =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/ComputerFrame.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java2022spring/ComputerFrame.java b/src/java2022spring/ComputerFrame.java index b3cb68f..33561de 100644 --- a/src/java2022spring/ComputerFrame.java +++ b/src/java2022spring/ComputerFrame.java @@ -348,7 +348,7 @@ ComputerFrame(){}// if(str1.equals("back")){ if(str2.length()==0){ - str2=""; + str2=""; } else{ char []num=TextArea.getText().toCharArray(); -- Gitee