From ff69d66b2ae0d5d2c435de36031b050f0c64c790 Mon Sep 17 00:00:00 2001 From: 13122 <13122@MEIYOU-ZHAN> Date: Sun, 5 Jun 2022 18:41:43 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E6=98=AF=E5=B8=83=E5=B1=80=E4=BA=86=E5=BC=80=E5=A4=B4?= =?UTF-8?q?=E5=92=8C=E4=B8=8B=E9=9D=A2=E7=9A=84=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Calculator.java | 41 ++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/java2022spring/Calculator.java diff --git a/src/java2022spring/Calculator.java b/src/java2022spring/Calculator.java new file mode 100644 index 0000000..2acc763 --- /dev/null +++ b/src/java2022spring/Calculator.java @@ -0,0 +1,41 @@ +package java2022spring; + +import javax.swing.*; +import java.awt.*; + /**********按钮控制********/ +public class Calculator extends JFrame { + private JPanel north1 = new JPanel(); + private JTextField text = new JTextField(); + private JPanel center1 =new JPanel(); + private String[] anjian_wenzi; + /**********启动函数********/ + public Calculator() throws HeadlessException{ + this.setTitle("计算器"); + this.setSize(340,540); + this.setLayout(new BorderLayout()); + this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + this.kaitou(); + this.xiamian(); + } + /**********最上面的开头********/ + public void kaitou(){ + this.text.setPreferredSize(new Dimension(320,150)); + north1.add(text); + this.add(north1,BorderLayout.NORTH); + } + /**********下面按钮布局********/ + public void xiamian(){ + this.center1.setLayout(new GridLayout(6,4)); + + for(int i=0;i<24;i++) { + JButton anjian =new JButton(); + center1.add(anjian); + } + this.add(center1,BorderLayout.CENTER); + } + /**********主函数********/ + public static void main(String[] args){ + Calculator calculator=new Calculator(); + calculator.setVisible(true); + } +} -- Gitee From 43cbdb6785d4a22c5f692b5118c3bbf84360a4bd Mon Sep 17 00:00:00 2001 From: 13122 <13122@MEIYOU-ZHAN> Date: Sun, 5 Jun 2022 22:18:51 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E6=AC=A1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E4=BF=AE=E6=94=B9=E6=8C=89=E9=92=AE=E5=AD=97=E4=BD=93?= =?UTF-8?q?=E8=83=8C=E6=99=AF=E9=A2=9C=E8=89=B2=E4=B8=8E=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .settings/org.eclipse.core.resources.prefs | 2 + src/java2022spring/Calculator.java | 52 ++++++++++++++++++---- 2 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 .settings/org.eclipse.core.resources.prefs diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..6f9fabc --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding//src/java2022spring/Calculator.java=UTF-8 diff --git a/src/java2022spring/Calculator.java b/src/java2022spring/Calculator.java index 2acc763..c1255db 100644 --- a/src/java2022spring/Calculator.java +++ b/src/java2022spring/Calculator.java @@ -2,40 +2,74 @@ package java2022spring; import javax.swing.*; import java.awt.*; - /**********按钮控制********/ -public class Calculator extends JFrame { +import java.awt.Color; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +/**********鎸夐挳鎺у埗********/ +public class Calculator extends JFrame{ private JPanel north1 = new JPanel(); private JTextField text = new JTextField(); private JPanel center1 =new JPanel(); private String[] anjian_wenzi; - /**********启动函数********/ + /**********鍚姩鍑芥暟********/ public Calculator() throws HeadlessException{ - this.setTitle("计算器"); + this.setTitle("璁$畻鍣"); this.setSize(340,540); this.setLayout(new BorderLayout()); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.kaitou(); this.xiamian(); } - /**********最上面的开头********/ + /**********鏈涓婇潰鐨勫紑澶********/ public void kaitou(){ this.text.setPreferredSize(new Dimension(320,150)); north1.add(text); this.add(north1,BorderLayout.NORTH); } - /**********下面按钮布局********/ + /**********涓嬮潰鎸夐挳甯冨眬********/ public void xiamian(){ this.center1.setLayout(new GridLayout(6,4)); - + anjian_wenzi = new String[]{"%", "CE", "C", "鈫", "1/X", "x虏", + "鈭歺", "梅", "7", "8", "9", "脳","4", "5", "6", "-", "1", + "2", "3", "+", "卤", "0", ".", "=", }; + String ziti1 = "[%]"; for(int i=0;i<24;i++) { - JButton anjian =new JButton(); + String temp =anjian_wenzi[i]; + JButton anjian =new JButton(anjian_wenzi[i]); + center1.add(anjian); + anjian.setText(anjian_wenzi[i]); + if(temp.equals("%") || temp.equals("1/X") || + temp.equals("x虏") || temp.equals("鈭歺") || temp.equals("梅") || + temp.equals("脳") || temp.equals("-") || temp.equals("+") || + temp.equals("卤") || temp.equals(".") ){ + anjian.setFont(new Font("Courier New",Font.BOLD,13)); + anjian.setBackground(Color.white); + } + if(temp.equals("CE") || temp.equals("C") || + temp.equals("鈫") || temp.equals("1") || temp.equals("2") || + temp.equals("3") || temp.equals("4") || temp.equals("5") || + temp.equals("6") || temp.equals("7") || temp.equals("8") || + temp.equals("9") || temp.equals("1") || temp.equals("0") ){ + anjian.setFont(new Font("绮椾綋",Font.BOLD,18)); + anjian.setBackground(Color.white); + } + if(temp.equals("=")){ + anjian.setFont(new Font("绮椾綋",Font.BOLD,30)); + anjian.setBackground(Color.LIGHT_GRAY); + } } this.add(center1,BorderLayout.CENTER); } - /**********主函数********/ + /**********涓诲嚱鏁********/ public static void main(String[] args){ Calculator calculator=new Calculator(); calculator.setVisible(true); } + /**********鐩戝惉鍣********/ + public void jiantingqi(ActionEvent e){ +String dianjiwenzi = e.getActionCommand(); +JOptionPane.showMessageDialog(this,dianjiwenzi); + } } -- Gitee From 0d78c856887eab572998b475ff67a5a9006e3fb5 Mon Sep 17 00:00:00 2001 From: 13122 <13122@MEIYOU-ZHAN> Date: Mon, 6 Jun 2022 11:00:15 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=AC=A1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E5=A2=9E=E5=8A=A0=E4=BA=86=E9=80=89=E6=8B=A9=E6=80=A7?= =?UTF-8?q?=E7=9B=91=E5=90=AC=E5=B9=B6=E8=BE=93=E5=85=A5=E6=96=87=E5=AD=97?= =?UTF-8?q?=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Calculator.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/java2022spring/Calculator.java b/src/java2022spring/Calculator.java index c1255db..4df6b9a 100644 --- a/src/java2022spring/Calculator.java +++ b/src/java2022spring/Calculator.java @@ -7,7 +7,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /**********鎸夐挳鎺у埗********/ -public class Calculator extends JFrame{ +public class Calculator extends JFrame implements ActionListener{ private JPanel north1 = new JPanel(); private JTextField text = new JTextField(); private JPanel center1 =new JPanel(); @@ -37,7 +37,7 @@ public class Calculator extends JFrame{ for(int i=0;i<24;i++) { String temp =anjian_wenzi[i]; JButton anjian =new JButton(anjian_wenzi[i]); - + anjian.addActionListener(this); center1.add(anjian); anjian.setText(anjian_wenzi[i]); if(temp.equals("%") || temp.equals("1/X") || @@ -68,8 +68,12 @@ public class Calculator extends JFrame{ calculator.setVisible(true); } /**********鐩戝惉鍣********/ - public void jiantingqi(ActionEvent e){ + public void actionPerformed (ActionEvent e){ String dianjiwenzi = e.getActionCommand(); -JOptionPane.showMessageDialog(this,dianjiwenzi); +if("%梅0123456789脳.=+-".indexOf(dianjiwenzi)!=-1){ + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setText(text.getText()+dianjiwenzi); + this.text.setFont(new Font("绮椾綋",Font.BOLD,33)); + } } -} +} \ No newline at end of file -- Gitee From 206b4fe69fad87c57eddf682f996e9b1824fe47e Mon Sep 17 00:00:00 2001 From: 13122 <13122@MEIYOU-ZHAN> Date: Mon, 6 Jun 2022 14:09:09 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E7=AC=AC=E5=9B=9B=E6=AC=A1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E5=A2=9E=E5=8A=A0=E4=BA=86%eC=E2=86=90x=C2=B2=C3=B7?= =?UTF-8?q?=C3=97-+.=3D=E7=9A=84=E8=BF=90=E7=AE=97=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=8C=E6=B7=BB=E5=8A=A0=E4=BA=86=E6=9C=80=E4=B8=8A=E9=9D=A2?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E6=A0=8F=E7=9A=84=E6=9F=A5=E7=9C=8B=EF=BC=88?= =?UTF-8?q?V=EF=BC=89=E7=BC=96=E8=BE=91=EF=BC=88E=EF=BC=89=E5=B8=AE?= =?UTF-8?q?=E5=8A=A9=EF=BC=88H=EF=BC=89=E6=8C=89=E9=92=AE=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E4=B8=94=E6=94=B9=E8=BF=9B=E4=BA=86=E6=95=B0=E5=AD=97?= =?UTF-8?q?=E7=9A=84=E7=9B=91=E5=90=AC=E8=AE=B0=E5=BD=95=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=8C=E5=8F=AF=E4=BB=A5=E6=9B=B4=E8=AF=A6=E7=BB=86=E7=9A=84?= =?UTF-8?q?=E5=AF=B9=E6=AF=8F=E4=B8=AA=E6=95=B0=E5=AD=97=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Calculator.java | 246 +++++++++++++++++++++++++++-- 1 file changed, 234 insertions(+), 12 deletions(-) diff --git a/src/java2022spring/Calculator.java b/src/java2022spring/Calculator.java index 4df6b9a..dc12c75 100644 --- a/src/java2022spring/Calculator.java +++ b/src/java2022spring/Calculator.java @@ -6,12 +6,16 @@ import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -/**********鎸夐挳鎺у埗********/ +/**********鎸夐挳鎺у埗,鍙橀噺********/ public class Calculator extends JFrame implements ActionListener{ private JPanel north1 = new JPanel(); private JTextField text = new JTextField(); private JPanel center1 =new JPanel(); private String[] anjian_wenzi; + private StringBuilder sBuilder = new StringBuilder(); + double a,b; + Double sum; + int i; /**********鍚姩鍑芥暟********/ public Calculator() throws HeadlessException{ this.setTitle("璁$畻鍣"); @@ -20,6 +24,15 @@ public class Calculator extends JFrame implements ActionListener{ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.kaitou(); this.xiamian(); + /**********鏈涓婇潰鑿滃崟鏍********/ + JMenuBar jMenuBar = new JMenuBar(); + JMenu jm = new JMenu("鏌ョ湅(V)"); + JMenu jm1 = new JMenu("缂栬緫(E)"); + JMenu jm2 = new JMenu("甯姪(H)"); + jMenuBar.add(jm); + jMenuBar.add(jm1); + jMenuBar.add(jm2); + this.setJMenuBar(jMenuBar); } /**********鏈涓婇潰鐨勫紑澶********/ public void kaitou(){ @@ -30,7 +43,7 @@ public class Calculator extends JFrame implements ActionListener{ /**********涓嬮潰鎸夐挳甯冨眬********/ public void xiamian(){ this.center1.setLayout(new GridLayout(6,4)); - anjian_wenzi = new String[]{"%", "CE", "C", "鈫", "1/X", "x虏", + anjian_wenzi = new String[]{"%", "e", "C", "鈫", "1/X", "x虏", "鈭歺", "梅", "7", "8", "9", "脳","4", "5", "6", "-", "1", "2", "3", "+", "卤", "0", ".", "=", }; String ziti1 = "[%]"; @@ -43,15 +56,15 @@ public class Calculator extends JFrame implements ActionListener{ if(temp.equals("%") || temp.equals("1/X") || temp.equals("x虏") || temp.equals("鈭歺") || temp.equals("梅") || temp.equals("脳") || temp.equals("-") || temp.equals("+") || - temp.equals("卤") || temp.equals(".") ){ + temp.equals("卤") || temp.equals(".") || temp.equals("e") ){ anjian.setFont(new Font("Courier New",Font.BOLD,13)); anjian.setBackground(Color.white); } - if(temp.equals("CE") || temp.equals("C") || + if(temp.equals("0") || temp.equals("C") || temp.equals("鈫") || temp.equals("1") || temp.equals("2") || temp.equals("3") || temp.equals("4") || temp.equals("5") || temp.equals("6") || temp.equals("7") || temp.equals("8") || - temp.equals("9") || temp.equals("1") || temp.equals("0") ){ + temp.equals("9") || temp.equals("1") ){ anjian.setFont(new Font("绮椾綋",Font.BOLD,18)); anjian.setBackground(Color.white); } @@ -60,7 +73,7 @@ public class Calculator extends JFrame implements ActionListener{ anjian.setBackground(Color.LIGHT_GRAY); } } - this.add(center1,BorderLayout.CENTER); + this.add(center1,BorderLayout.CENTER); } /**********涓诲嚱鏁********/ public static void main(String[] args){ @@ -69,11 +82,220 @@ public class Calculator extends JFrame implements ActionListener{ } /**********鐩戝惉鍣********/ public void actionPerformed (ActionEvent e){ -String dianjiwenzi = e.getActionCommand(); -if("%梅0123456789脳.=+-".indexOf(dianjiwenzi)!=-1){ - this.text.setHorizontalAlignment(JTextField.RIGHT); - this.text.setText(text.getText()+dianjiwenzi); - this.text.setFont(new Font("绮椾綋",Font.BOLD,33)); - } + String dianjiwenzi = e.getActionCommand(); + /**********鏁板瓧鎸夐挳鐩戝惉********/ + if(dianjiwenzi.equals("0")) + { + sBuilder.append("0"); + text.setText(sBuilder.toString()); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("1")) + { + sBuilder.append("1"); + text.setText(sBuilder.toString()); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("2")) + { + sBuilder.append("2"); + text.setText(sBuilder.toString()); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("3")) + { + sBuilder.append("3"); + text.setText(sBuilder.toString()); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("4")) + { + sBuilder.append("4"); + text.setText(sBuilder.toString()); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("5")) + { + sBuilder.append("5"); + text.setText(sBuilder.toString()); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("6")) + { + sBuilder.append("6"); + text.setText(sBuilder.toString()); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("7")) { + sBuilder.append("7"); + text.setText(sBuilder.toString()); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("8")) + { + sBuilder.append("8"); + text.setText(sBuilder.toString()); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("9")) + { + sBuilder.append("9"); + text.setText(sBuilder.toString()); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + /**********杩愮畻绗︽寜閽洃鍚********/ + else if(dianjiwenzi.equals("鈫")) { + sBuilder.deleteCharAt(sBuilder.length() - 1); + text.setText(sBuilder.toString()); + } + else if(dianjiwenzi.equals("C")) + { + sBuilder = new StringBuilder(); + text.setText(sBuilder.toString()); + } + else if(dianjiwenzi.equals(".")) + { + sBuilder.append("."); + text.setText(sBuilder.toString()); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("+")) + { + a = Double.parseDouble(sBuilder.toString()); + i=0; + sBuilder = new StringBuilder(); + text.setText("+"); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("鈥")) + { + a = Double.parseDouble(sBuilder.toString()); + i=1; + sBuilder = new StringBuilder(); + text.setText("鈥"); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("脳")) + { + a = Double.parseDouble(sBuilder.toString()); + i=2; + sBuilder = new StringBuilder(); + text.setText("脳"); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("梅")) + { + i=3; + a = Double.parseDouble(sBuilder.toString()); + sBuilder = new StringBuilder(); + text.setText("梅"); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("%")) + { + a = Double.parseDouble(sBuilder.toString()); + i=4; + sBuilder = new StringBuilder(); + text.setText("%"); + this.text.setHorizontalAlignment(JTextField.RIGHT); + this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); + } + else if(dianjiwenzi.equals("x虏")) + { + a = Double.parseDouble(sBuilder.toString()); + i=5; + text.setText("x虏"); + } + else if(dianjiwenzi.equals("e")) + { + a = Double.parseDouble(sBuilder.toString()); + i=6; + sBuilder = new StringBuilder(); + text.setText("e"); + } + /**********鎵ц杩愮畻********/ + else if(dianjiwenzi.equals("=")) + { + b = Double.parseDouble(sBuilder.toString()); + if (i == 0) + { + sum=a+b; + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum); + } + else if (i == 1) + { + sum = a - b; + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum); + } + else if (i == 2) + { + sum = a * b; + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum); + } + else if (i == 3) + { + sum = a / b; + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum); + } + else if (i == 4) + { + sum=a % b; + int m=(int)a; + int n=(int)b; + sum=(double)m % n; + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum); + } + else if (i == 5) + { + sum=1.0; + if(a==0) + sum=0.0; + else + sum=a*a; + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum); + } + else if (i == 6) + + { + sum=1.0; + if(b==0) + sum=1.0; + else + for(int i=1;i<=b;i++) + sum=sum*a; + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum); + } + else + text.setText(sBuilder.toString()); + } } } \ No newline at end of file -- Gitee From 95b95f436dc22864fa92a52bddfba837fd288408 Mon Sep 17 00:00:00 2001 From: 13122 <13122@MEIYOU-ZHAN> Date: Mon, 6 Jun 2022 15:37:32 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E7=AC=AC=E4=BA=94=E6=AC=A1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E5=A2=9E=E5=8A=A0=E4=BA=861/x,=E5=BC=80=E6=96=B9?= =?UTF-8?q?=E7=9A=84=E8=BF=90=E7=AE=97=EF=BC=8C=E5=B9=B6=E4=B8=94=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E6=88=90=E4=B8=8E=E5=B9=B3=E6=96=B9=E4=B8=80=E6=A0=B7?= =?UTF-8?q?=E4=B8=8D=E9=9C=80=E8=A6=81=E7=82=B9=E7=AD=89=E4=BA=8E=E5=A5=BD?= =?UTF-8?q?=E5=B0=B1=E5=8F=AF=E7=9B=B4=E6=8E=A5=E8=BF=90=E7=AE=97=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E3=80=82=E8=A7=A3=E5=86=B3=E4=BA=86C?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E6=B8=85=E9=99=A4=E5=8F=91=E7=94=9F=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=89=80=E6=98=BE=E7=A4=BA=E7=9A=84=E7=BA=A2=E5=BA=95?= =?UTF-8?q?=E8=83=8C=E6=99=AF=E7=9A=84=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 | 175 ++++++++++++++++++----------- 1 file changed, 111 insertions(+), 64 deletions(-) diff --git a/src/java2022spring/Calculator.java b/src/java2022spring/Calculator.java index dc12c75..eff9073 100644 --- a/src/java2022spring/Calculator.java +++ b/src/java2022spring/Calculator.java @@ -84,9 +84,9 @@ public class Calculator extends JFrame implements ActionListener{ public void actionPerformed (ActionEvent e){ String dianjiwenzi = e.getActionCommand(); /**********鏁板瓧鎸夐挳鐩戝惉********/ - if(dianjiwenzi.equals("0")) + if(dianjiwenzi.equals("0")) { - sBuilder.append("0"); + sBuilder.append("0"); text.setText(sBuilder.toString()); this.text.setHorizontalAlignment(JTextField.RIGHT); this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); @@ -94,21 +94,21 @@ public class Calculator extends JFrame implements ActionListener{ else if(dianjiwenzi.equals("1")) { sBuilder.append("1"); - text.setText(sBuilder.toString()); + text.setText(sBuilder.toString()); this.text.setHorizontalAlignment(JTextField.RIGHT); this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); } else if(dianjiwenzi.equals("2")) { - sBuilder.append("2"); - text.setText(sBuilder.toString()); + sBuilder.append("2"); + text.setText(sBuilder.toString()); //鏄剧ず涔嬪墠鎵鏈夎緭鍏ョ殑鏁版嵁 this.text.setHorizontalAlignment(JTextField.RIGHT); this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); } else if(dianjiwenzi.equals("3")) { - sBuilder.append("3"); - text.setText(sBuilder.toString()); + sBuilder.append("3"); + text.setText(sBuilder.toString()); this.text.setHorizontalAlignment(JTextField.RIGHT); this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); } @@ -148,119 +148,173 @@ public class Calculator extends JFrame implements ActionListener{ } else if(dianjiwenzi.equals("9")) { - sBuilder.append("9"); - text.setText(sBuilder.toString()); + sBuilder.append("9"); + text.setText(sBuilder.toString()); this.text.setHorizontalAlignment(JTextField.RIGHT); this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); } /**********杩愮畻绗︽寜閽洃鍚********/ - else if(dianjiwenzi.equals("鈫")) { - sBuilder.deleteCharAt(sBuilder.length() - 1); + else if(dianjiwenzi.equals("鈫")) + { + sBuilder.deleteCharAt(sBuilder.length() - 1); text.setText(sBuilder.toString()); } - else if(dianjiwenzi.equals("C")) + else if(dianjiwenzi.equals("C")) { - sBuilder = new StringBuilder(); + sBuilder = new StringBuilder(); text.setText(sBuilder.toString()); + text.setBackground(Color.white); } - else if(dianjiwenzi.equals(".")) + else if(dianjiwenzi.equals(".")) { - sBuilder.append("."); - text.setText(sBuilder.toString()); + sBuilder.append("."); + text.setText(sBuilder.toString()); this.text.setHorizontalAlignment(JTextField.RIGHT); this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); } - else if(dianjiwenzi.equals("+")) + else if(dianjiwenzi.equals("+")) { - a = Double.parseDouble(sBuilder.toString()); + a = Double.parseDouble(sBuilder.toString()); i=0; - sBuilder = new StringBuilder(); + sBuilder = new StringBuilder(); text.setText("+"); this.text.setHorizontalAlignment(JTextField.RIGHT); this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); } - else if(dianjiwenzi.equals("鈥")) + else if(dianjiwenzi.equals("鈥")) { - a = Double.parseDouble(sBuilder.toString()); - i=1; - sBuilder = new StringBuilder(); + a = Double.parseDouble(sBuilder.toString()); + i=1; + sBuilder = new StringBuilder(); text.setText("鈥"); this.text.setHorizontalAlignment(JTextField.RIGHT); this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); } - else if(dianjiwenzi.equals("脳")) + else if(dianjiwenzi.equals("脳")) { - a = Double.parseDouble(sBuilder.toString()); - i=2; + a = Double.parseDouble(sBuilder.toString()); + i=2; sBuilder = new StringBuilder(); text.setText("脳"); this.text.setHorizontalAlignment(JTextField.RIGHT); this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); } - else if(dianjiwenzi.equals("梅")) + else if(dianjiwenzi.equals("梅")) { - i=3; - a = Double.parseDouble(sBuilder.toString()); + i=3; + a = Double.parseDouble(sBuilder.toString()); sBuilder = new StringBuilder(); text.setText("梅"); this.text.setHorizontalAlignment(JTextField.RIGHT); this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); } - else if(dianjiwenzi.equals("%")) + else if(dianjiwenzi.equals("%")) { - a = Double.parseDouble(sBuilder.toString()); - i=4; - sBuilder = new StringBuilder(); + a = Double.parseDouble(sBuilder.toString()); + i=4; + sBuilder = new StringBuilder(); text.setText("%"); this.text.setHorizontalAlignment(JTextField.RIGHT); this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); } - else if(dianjiwenzi.equals("x虏")) + else if(dianjiwenzi.equals("x虏")) { - a = Double.parseDouble(sBuilder.toString()); - i=5; - text.setText("x虏"); + a = Double.parseDouble(sBuilder.toString()); + sum=1.0; + if(a==0) + sum=0.0; + else + sum=a*a; + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum); } - else if(dianjiwenzi.equals("e")) + else if(dianjiwenzi.equals("e")) + { - a = Double.parseDouble(sBuilder.toString()); - i=6; - sBuilder = new StringBuilder(); + a = Double.parseDouble(sBuilder.toString()); + i=6; + sBuilder = new StringBuilder(); text.setText("e"); } + else if(dianjiwenzi.equals("卤")) + { + a = Double.parseDouble(sBuilder.toString()); + sum=0.0; + if(a==0) + sum=0.0; + else if(a>0) + sum=-a; + else + sum=-a; + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum); + } + else if(dianjiwenzi.equals("1/X")) + { + a = Double.parseDouble(sBuilder.toString()); + if (a == 0) { + text.setText("鍒嗘瘝涓嶅緱涓0锛岃閲嶆柊杈撳叆"); + text.setBackground(Color.red); + this.text.setFont(new Font("绮椾綋",Font.BOLD,20)); + } else + sum = 1/a; + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum); + } + else if(dianjiwenzi.equals("鈭歺")) + { + a = Double.parseDouble(sBuilder.toString()); + if(a<0){ + text.setText("鍒嗘瘝涓嶅緱灏忎簬0锛岃閲嶆柊杈撳叆"); + text.setBackground(Color.red); + this.text.setFont(new Font("绮椾綋",Font.BOLD,20));} + else if(a>0){ + sum=java.lang.StrictMath.pow(a,1.0/2); + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum);} + else{ + sum=0.0; + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum);} + } /**********鎵ц杩愮畻********/ else if(dianjiwenzi.equals("=")) { - b = Double.parseDouble(sBuilder.toString()); - if (i == 0) + b = Double.parseDouble(sBuilder.toString()); + if (i == 0) { sum=a+b; - text.setText(sum.toString()); + text.setText(sum.toString()); sBuilder = new StringBuilder(); sBuilder.append(sum); } - else if (i == 1) + else if (i == 1) { sum = a - b; text.setText(sum.toString()); sBuilder = new StringBuilder(); sBuilder.append(sum); } - else if (i == 2) + else if (i == 2) { sum = a * b; text.setText(sum.toString()); sBuilder = new StringBuilder(); sBuilder.append(sum); } - else if (i == 3) + else if (i == 3) { sum = a / b; text.setText(sum.toString()); sBuilder = new StringBuilder(); sBuilder.append(sum); } - else if (i == 4) + else if (i == 4) { sum=a % b; int m=(int)a; @@ -270,32 +324,25 @@ public class Calculator extends JFrame implements ActionListener{ sBuilder = new StringBuilder(); sBuilder.append(sum); } - else if (i == 5) - { - sum=1.0; - if(a==0) - sum=0.0; - else - sum=a*a; - text.setText(sum.toString()); - sBuilder = new StringBuilder(); - sBuilder.append(sum); - } - else if (i == 6) + else if (i == 6) { sum=1.0; if(b==0) sum=1.0; + else if(b<0) + {text.setText("璇烽噸璇曞苟杈撳叆涓涓ぇ浜庢垨绛変簬0鐨勬暟"); + text.setBackground(Color.red); + this.text.setFont(new Font("绮椾綋",Font.BOLD,15));} else - for(int i=1;i<=b;i++) - sum=sum*a; + {for(int i=1;i<=b;i++) + sum=sum*a; text.setText(sum.toString()); sBuilder = new StringBuilder(); - sBuilder.append(sum); + sBuilder.append(sum);} } else text.setText(sBuilder.toString()); } } -} \ No newline at end of file +} -- Gitee From cb520191876ec18e04420cd30ccf949d7d8f59b8 Mon Sep 17 00:00:00 2001 From: 13122 <13122@MEIYOU-ZHAN> Date: Tue, 7 Jun 2022 19:10:24 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E7=AC=AC=E5=85=AD=E6=AC=A1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E5=A2=9E=E5=8A=A0=E4=BA=86=E5=90=AF=E5=8A=A8=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E6=98=BE=E7=A4=BA=E5=9C=A8=E5=B1=8F=E5=B9=95=E6=AD=A3?= =?UTF-8?q?=E4=B8=AD=E9=97=B4=E7=9A=84=E5=8A=9F=E8=83=BD=EF=BC=8C=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E4=BA=86e=E7=AE=97=E6=B3=95=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E8=BF=9E=E7=BB=AD=E8=BF=90=E7=AE=97=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Calculator.java | 45 +++++++++++++++++++----------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/src/java2022spring/Calculator.java b/src/java2022spring/Calculator.java index eff9073..1f52623 100644 --- a/src/java2022spring/Calculator.java +++ b/src/java2022spring/Calculator.java @@ -16,6 +16,11 @@ public class Calculator extends JFrame implements ActionListener{ double a,b; Double sum; int i; + /**********浣胯绠楀櫒浣嶇疆灞呬腑********/ + public static final int kuang = Toolkit.getDefaultToolkit().getScreenSize().width; + public static final int gao = Toolkit.getDefaultToolkit().getScreenSize().height; + public int x =(kuang-340)/2; + public int y =(gao-540)/2; /**********鍚姩鍑芥暟********/ public Calculator() throws HeadlessException{ this.setTitle("璁$畻鍣"); @@ -24,6 +29,7 @@ public class Calculator extends JFrame implements ActionListener{ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.kaitou(); this.xiamian(); + this.setLocation(x,y); /**********鏈涓婇潰鑿滃崟鏍********/ JMenuBar jMenuBar = new JMenuBar(); JMenu jm = new JMenu("鏌ョ湅(V)"); @@ -233,7 +239,7 @@ public class Calculator extends JFrame implements ActionListener{ { a = Double.parseDouble(sBuilder.toString()); - i=6; + i=5; sBuilder = new StringBuilder(); text.setText("e"); } @@ -254,15 +260,20 @@ public class Calculator extends JFrame implements ActionListener{ else if(dianjiwenzi.equals("1/X")) { a = Double.parseDouble(sBuilder.toString()); - if (a == 0) { - text.setText("鍒嗘瘝涓嶅緱涓0锛岃閲嶆柊杈撳叆"); + if(a==0){ + text.setText("鍒嗘瘝涓嶅緱绛変簬0锛岃閲嶆柊杈撳叆"); text.setBackground(Color.red); - this.text.setFont(new Font("绮椾綋",Font.BOLD,20)); - } else - sum = 1/a; - text.setText(sum.toString()); - sBuilder = new StringBuilder(); - sBuilder.append(sum); + this.text.setFont(new Font("绮椾綋",Font.BOLD,20));} + else if(a>0){ + sum=1/a; + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum);} + else{ + sum=1/a; + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum);} } else if(dianjiwenzi.equals("鈭歺")) { @@ -324,25 +335,25 @@ public class Calculator extends JFrame implements ActionListener{ sBuilder = new StringBuilder(); sBuilder.append(sum); } - else if (i == 6) + else if (i == 5) { sum=1.0; - if(b==0) + if(b==0 && a==0) sum=1.0; else if(b<0) {text.setText("璇烽噸璇曞苟杈撳叆涓涓ぇ浜庢垨绛変簬0鐨勬暟"); - text.setBackground(Color.red); - this.text.setFont(new Font("绮椾綋",Font.BOLD,15));} + text.setBackground(Color.red); + this.text.setFont(new Font("绮椾綋",Font.BOLD,15));} else {for(int i=1;i<=b;i++) sum=sum*a; - text.setText(sum.toString()); - sBuilder = new StringBuilder(); - sBuilder.append(sum);} + text.setText(sum.toString()); + sBuilder = new StringBuilder(); + sBuilder.append(sum);} } else text.setText(sBuilder.toString()); } } -} +} \ No newline at end of file -- Gitee From ceef9083c70d979f89888a0916d24972ec7f44be Mon Sep 17 00:00:00 2001 From: 13122 <13122@MEIYOU-ZHAN> Date: Wed, 8 Jun 2022 16:18:42 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E7=AC=AC=E4=B8=83=E6=AC=A1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E4=BF=AE=E6=94=B9=E4=BA=86=E5=87=8F=E6=B3=95=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E4=BD=BF=E7=94=A8=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Calculator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/java2022spring/Calculator.java b/src/java2022spring/Calculator.java index 1f52623..70d6d2a 100644 --- a/src/java2022spring/Calculator.java +++ b/src/java2022spring/Calculator.java @@ -187,12 +187,12 @@ public class Calculator extends JFrame implements ActionListener{ this.text.setHorizontalAlignment(JTextField.RIGHT); this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); } - else if(dianjiwenzi.equals("鈥")) + else if(dianjiwenzi.equals("-")) { a = Double.parseDouble(sBuilder.toString()); i=1; sBuilder = new StringBuilder(); - text.setText("鈥"); + text.setText("-"); this.text.setHorizontalAlignment(JTextField.RIGHT); this.text.setFont(new Font("绮椾綋",Font.BOLD,30)); } -- Gitee