From 7ee6624d89e91000215f935c827adc5cdffce8d6 Mon Sep 17 00:00:00 2001 From: df Date: Sun, 22 May 2022 10:04:25 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=BA=86=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=E7=95=8C=E9=9D=A2=EF=BC=8C=E6=B3=A8=E5=86=8C=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/CalculatorStart.java | 167 ++++++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 src/java2022spring/CalculatorStart.java diff --git a/src/java2022spring/CalculatorStart.java b/src/java2022spring/CalculatorStart.java new file mode 100644 index 0000000..bbe9adc --- /dev/null +++ b/src/java2022spring/CalculatorStart.java @@ -0,0 +1,167 @@ +package java2022spring; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + + @SuppressWarnings({ "serial", "unused" }) + public class CalculatorStart extends JFrame{ + JPanel Panel; + JTextField Text; + JButton num[]; + JButton FuHao[]; + JButton bai,ds,pf,sqrt,zf,ce,c,mc,mr,ms,mjia,back,DengHao,Dian; + + public CalculatorStart() { + this.setTitle("计算器"); //设置窗口标题 + this.setSize(350,500); //设置窗口大小 + this.setLayout(new BorderLayout()); //设置布局方式 + Text=new JTextField(15); + Text.setHorizontalAlignment(JTextField.RIGHT);//计算器显示数字的文本框内容右对齐 + Text.setEditable(true); + this.add(Text,BorderLayout.NORTH); //将文本框放至窗口北部 + this.setResizable(false); //当点击关闭窗口时退出程序 + this.setLocationRelativeTo(null); //窗口出现位置固定在正中央 + + num=new JButton[10]; + for(int i=0;i<=9;i++) { + num[i]=new JButton(i+""); + } + FuHao=new JButton[4]; + FuHao[0]=new JButton("÷"); + FuHao[1]=new JButton("×"); + FuHao[2]=new JButton("+"); + FuHao[3]=new JButton("-"); + bai=new JButton("%"); + ds=new JButton("1/x"); + pf=new JButton("x²"); + sqrt=new JButton("sqrt"); + zf=new JButton("+/-"); + ce=new JButton("CE"); + c=new JButton("C"); + back=new JButton("Back"); + mc=new JButton("MC"); + mr=new JButton("MR"); + ms=new JButton("MS"); + mjia=new JButton("M+"); + DengHao=new JButton("="); + Dian=new JButton("."); + + Panel=new JPanel(); + Panel.setLayout(new GridLayout(7,4)); + + + Panel.add(mc); + Panel.add(mr); + Panel.add(ms); + Panel.add(mjia); + + Panel.add(bai); + Panel.add(ce); + Panel.add(c); + Panel.add(back); + + Panel.add(ds); + Panel.add(pf); + Panel.add(sqrt); + Panel.add(FuHao[0]); + + Panel.add(num[7]); + Panel.add(num[8]); + Panel.add(num[9]); + Panel.add(FuHao[1]); + + Panel.add(num[4]); + Panel.add(num[5]); + Panel.add(num[6]); + Panel.add(FuHao[2]); + + Panel.add(num[1]); + Panel.add(num[2]); + Panel.add(num[3]); + Panel.add(FuHao[3]); + + Panel.add(zf); + Panel.add(num[0]); + Panel.add(Dian); + Panel.add(DengHao); + + this.add(Panel); + jisuan(); + this.setVisible(true); + + } + public void jisuan() { + CalculatorStart.addWindowListener(new WinLis()); + NumLis bt1=new NumLis(); + for(int i=0;i<=9;i++) + num[i].addActionListener(bt1); + FuHaoLis bt2=new FuHaoLis(); + for(int j=0;j<=8;j++) + FuHao[j].addActionListener(bt2); + DengLis bt3=new DengLis(); + DengHao.addActionListener(bt3); + DianLis bt4=new DianLis(); + Dian.addActionListener(bt4); + CLis bt5=new CLis(); + c.addActionListener(bt5); + CELis bt6=new CELis(); + ce.addActionListener(bt6); + BackLis bt7=new BackLis(); + back.addActionListener(bt7); + McLis bt8=new McLis(); + mc.addActionListener(bt8); + MrLis bt9=new MrLis(); + mr.addActionListener(bt9); + MsLis bt10=new MsLis(); + ms.addActionListener(bt10); + MjiaLis bt11=new MjiaLis(); + mjia.addActionListener(bt11); + } + //创建监视器的类 + boolean isNum; + char oper; + int num1,num2; + class NumLis implements ActionListener{ + public void actionPerformed(ActionEvent e) { + String t=e.getActionCommand(); + String s=Text.getText(); + if(isNum==false) + Text.setText(t); + else + Text.setText(s+t); + isNum=true; + } + class FuHaoLis implements ActionListener{ + public void actionPerformed(ActionEvent e) { + num1=Integer.parseInt(Text.getText()); + oper=e.getActionCommand().charAt(0); + isNum=false; + } + } + class DengLis implements ActionListener{ + public void actionPerformed(ActionEvent e) { + int result=0; + isNum=false; + num2=Integer.parseInt(Text.getText()); + switch(oper) { + case'+':result=num1+num2;break; + case'-':result=num1-num2;break; + case'×':result=num1*num2;break; + case'÷':result=num1/num2;break; + } + } + class DianLis implements ActionListener{ + public void actionPerformes(ActionEvent e) { + + } + } + } + + +public static void main(String[] args) { + CalculatorStart calculatorstart=new CalculatorStart(); + calculatorstart.setVisible(true); +} +} + } \ No newline at end of file -- Gitee From 07d49903b00d509f8116d85796fa88a92ea2e486 Mon Sep 17 00:00:00 2001 From: df Date: Tue, 24 May 2022 10:50:27 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=B8=83=E5=B1=80=EF=BC=8C=E5=AE=8C=E5=96=84=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E5=8A=9F=E8=83=BD=EF=BC=88=E7=9B=91=E5=90=AC=E5=99=A8?= =?UTF-8?q?=EF=BC=89=EF=BC=8C=E8=83=BD=E5=AE=9E=E7=8E=B0=E7=AE=80=E5=8D=95?= =?UTF-8?q?=E7=9A=84=E8=BF=90=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/CalculatorStart.java | 378 +++++++++++++++--------- 1 file changed, 246 insertions(+), 132 deletions(-) diff --git a/src/java2022spring/CalculatorStart.java b/src/java2022spring/CalculatorStart.java index bbe9adc..c6bd0dc 100644 --- a/src/java2022spring/CalculatorStart.java +++ b/src/java2022spring/CalculatorStart.java @@ -4,164 +4,278 @@ import javax.swing.*; import java.awt.*; import java.awt.event.*; - @SuppressWarnings({ "serial", "unused" }) - public class CalculatorStart extends JFrame{ + public class CalculatorStart { + public static void main(String[] args) { + new Jisuan(); + } + } + @SuppressWarnings("serial") + class Jisuan extends JFrame implements ActionListener{ JPanel Panel; JTextField Text; - JButton num[]; - JButton FuHao[]; - JButton bai,ds,pf,sqrt,zf,ce,c,mc,mr,ms,mjia,back,DengHao,Dian; - - public CalculatorStart() { + JMenuBar menubar; + public Jisuan(){ this.setTitle("计算器"); //设置窗口标题 - this.setSize(350,500); //设置窗口大小 + this.setSize(350,450); //设置窗口大小 this.setLayout(new BorderLayout()); //设置布局方式 + this.setResizable(false); //当点击关闭窗口时退出程序 + this.setLocationRelativeTo(null); //窗口出现位置固定在正中央 Text=new JTextField(15); Text.setHorizontalAlignment(JTextField.RIGHT);//计算器显示数字的文本框内容右对齐 Text.setEditable(true); this.add(Text,BorderLayout.NORTH); //将文本框放至窗口北部 - this.setResizable(false); //当点击关闭窗口时退出程序 - this.setLocationRelativeTo(null); //窗口出现位置固定在正中央 - - num=new JButton[10]; - for(int i=0;i<=9;i++) { - num[i]=new JButton(i+""); - } - FuHao=new JButton[4]; - FuHao[0]=new JButton("÷"); - FuHao[1]=new JButton("×"); - FuHao[2]=new JButton("+"); - FuHao[3]=new JButton("-"); - bai=new JButton("%"); - ds=new JButton("1/x"); - pf=new JButton("x²"); - sqrt=new JButton("sqrt"); - zf=new JButton("+/-"); - ce=new JButton("CE"); - c=new JButton("C"); - back=new JButton("Back"); - mc=new JButton("MC"); - mr=new JButton("MR"); - ms=new JButton("MS"); - mjia=new JButton("M+"); - DengHao=new JButton("="); - Dian=new JButton("."); + //设置菜单栏 + JMenuBar menubar=new JMenuBar(); + JMenu menu1=new JMenu("查看(V)"); + JMenu menu2=new JMenu("编辑(E)"); + JMenu menu3=new JMenu("帮助(H)"); + menubar.add(menu1); + menubar.add(menu2); + menubar.add(menu3); + this.setJMenuBar(menubar); + //设置按钮 + JButton button[]=new JButton[28]; + button[0]=new JButton("MC"); + button[1]=new JButton("MR"); + button[2]=new JButton("MS"); + button[3]=new JButton("M+"); + button[4]=new JButton("%"); + button[5]=new JButton("sqrt"); + button[6]=new JButton("²"); + button[7]=new JButton("1/x"); + button[8]=new JButton("CE"); + button[9]=new JButton("C"); + button[10]=new JButton("BACK"); + button[11]=new JButton("÷"); + button[12]=new JButton("7"); + button[13]=new JButton("8"); + button[14]=new JButton("9"); + button[15]=new JButton("×"); + button[16]=new JButton("4"); + button[17]=new JButton("5"); + button[18]=new JButton("6"); + button[19]=new JButton("-"); + button[20]=new JButton("1"); + button[21]=new JButton("2"); + button[22]=new JButton("3"); + button[23]=new JButton("+"); + button[24]=new JButton("+/-"); + button[25]=new JButton("0"); + button[26]=new JButton("."); + button[27]=new JButton("="); Panel=new JPanel(); Panel.setLayout(new GridLayout(7,4)); + + Panel.add(button[0]); + Panel.add(button[1]); + Panel.add(button[2]); + Panel.add(button[3]); - - Panel.add(mc); - Panel.add(mr); - Panel.add(ms); - Panel.add(mjia); - - Panel.add(bai); - Panel.add(ce); - Panel.add(c); - Panel.add(back); + Panel.add(button[4]); + Panel.add(button[5]); + Panel.add(button[6]); + Panel.add(button[7]); - Panel.add(ds); - Panel.add(pf); - Panel.add(sqrt); - Panel.add(FuHao[0]); + Panel.add(button[8]); + Panel.add(button[9]); + Panel.add(button[10]); + Panel.add(button[11]); - Panel.add(num[7]); - Panel.add(num[8]); - Panel.add(num[9]); - Panel.add(FuHao[1]); + Panel.add(button[12]); + Panel.add(button[13]); + Panel.add(button[14]); + Panel.add(button[15]); - Panel.add(num[4]); - Panel.add(num[5]); - Panel.add(num[6]); - Panel.add(FuHao[2]); + Panel.add(button[16]); + Panel.add(button[17]); + Panel.add(button[18]); + Panel.add(button[19]); - Panel.add(num[1]); - Panel.add(num[2]); - Panel.add(num[3]); - Panel.add(FuHao[3]); + Panel.add(button[20]); + Panel.add(button[21]); + Panel.add(button[22]); + Panel.add(button[23]); - Panel.add(zf); - Panel.add(num[0]); - Panel.add(Dian); - Panel.add(DengHao); + Panel.add(button[24]); + Panel.add(button[25]); + Panel.add(button[26]); + Panel.add(button[27]); this.add(Panel); - jisuan(); this.setVisible(true); + for(int i=0;i<=27;i++) + button[i].addActionListener(this); + this.setVisible(true); + + } + @SuppressWarnings("unused") + private StringBuilder getnum=new StringBuilder(); + double num1,num2; + double sum=0; + int a; + public void actionPerformed(ActionEvent e) { + String str=e.getActionCommand(); + if(str.equals("0")) + {getnum.append("0"); + Text.setText(getnum.toString()); } - public void jisuan() { - CalculatorStart.addWindowListener(new WinLis()); - NumLis bt1=new NumLis(); - for(int i=0;i<=9;i++) - num[i].addActionListener(bt1); - FuHaoLis bt2=new FuHaoLis(); - for(int j=0;j<=8;j++) - FuHao[j].addActionListener(bt2); - DengLis bt3=new DengLis(); - DengHao.addActionListener(bt3); - DianLis bt4=new DianLis(); - Dian.addActionListener(bt4); - CLis bt5=new CLis(); - c.addActionListener(bt5); - CELis bt6=new CELis(); - ce.addActionListener(bt6); - BackLis bt7=new BackLis(); - back.addActionListener(bt7); - McLis bt8=new McLis(); - mc.addActionListener(bt8); - MrLis bt9=new MrLis(); - mr.addActionListener(bt9); - MsLis bt10=new MsLis(); - ms.addActionListener(bt10); - MjiaLis bt11=new MjiaLis(); - mjia.addActionListener(bt11); - } - //创建监视器的类 - boolean isNum; - char oper; - int num1,num2; - class NumLis implements ActionListener{ - public void actionPerformed(ActionEvent e) { - String t=e.getActionCommand(); - String s=Text.getText(); - if(isNum==false) - Text.setText(t); - else - Text.setText(s+t); - isNum=true; - } - class FuHaoLis implements ActionListener{ - public void actionPerformed(ActionEvent e) { + else if(str.equals("1")) + { + getnum.append("1"); + Text.setText(getnum.toString()); + } + else if(str.equals("2")) + { + getnum.append("2"); + Text.setText(getnum.toString()); + } + else if(str.equals("3")) + { + getnum.append("3"); + Text.setText(getnum.toString()); + } + else if(str.equals("4")) + { + getnum.append("4"); + Text.setText(getnum.toString()); + } + else if(str.equals("5")) + { + getnum.append("5"); + Text.setText(getnum.toString()); + } + else if(str.equals("6")) + { + getnum.append("6"); + Text.setText(getnum.toString()); + } + else if(str.equals("7")) + { + getnum.append("7"); + Text.setText(getnum.toString()); + } + else if(str.equals("8")) + { + getnum.append("8"); + Text.setText(getnum.toString()); + } + else if(str.equals("9")) + { + getnum.append("9"); + Text.setText(getnum.toString()); + } + else if(str.equals(".")) + { + getnum.append("."); + Text.setText(getnum.toString()); + } + else if(str.equals("CE")) + { + getnum.deleteCharAt(getnum.length()-1); + Text.setText(getnum.toString()); + } + else if(str.equals("C")) + { + getnum=new StringBuilder(); + Text.setText(getnum.toString()); + } + else if(str.equals("Back")) + { + + } + else if(str.equals("+")) + {a=0; + num1 = Integer.parseInt(Text.getText()); + getnum= new StringBuilder(); + Text.setText("+"); + } + else if(str.equals("-")) + { num1=Integer.parseInt(Text.getText()); - oper=e.getActionCommand().charAt(0); - isNum=false; + a=1; + getnum=new StringBuilder(); + Text.setText("-"); } - } - class DengLis implements ActionListener{ - public void actionPerformed(ActionEvent e) { - int result=0; - isNum=false; - num2=Integer.parseInt(Text.getText()); - switch(oper) { - case'+':result=num1+num2;break; - case'-':result=num1-num2;break; - case'×':result=num1*num2;break; - case'÷':result=num1/num2;break; + else if(str.equals("×")) { + num1=Integer.parseInt(Text.getText()); + a=2; + getnum=new StringBuilder(); + Text.setText("×"); } - } - class DianLis implements ActionListener{ - public void actionPerformes(ActionEvent e) { + else if(str.equals("÷")) { + num1=Integer.parseInt(Text.getText()); + a=3; + getnum=new StringBuilder(); + Text.setText("÷"); + } + else if(str.equals("%")) { + num1=Integer.parseInt(Text.getText()); + getnum=new StringBuilder(); + num1=num1/100; + Text.setText(num1+""); + } + else if(str.equals("²")) { + num1=Integer.parseInt(Text.getText()); + getnum=new StringBuilder(); + Text.setText(num1*num1+""); + } + else if(str.equals("sqrt")) { + num1=Integer.parseInt(Text.getText()); + getnum=new StringBuilder(); + Text.setText(Math.sqrt(num1)+""); + } + else if(str.equals("1/x")) { + num1=Integer.parseInt(Text.getText()); + getnum=new StringBuilder(); + if(num1==0) { + Text.setText(num1+"不能求倒数"); + }else { + Text.setText(1/num1+""); + } + } + else if(str.equals("+/-")) { + num1=Integer.parseInt(Text.getText()); + getnum=new StringBuilder(); + if(num1>0) { + num1=-num1; + Text.setText(num1+""); + } + else if(num1<0) { + num1=-num1; + Text.setText(num1+""); + } + + } + + else if(str.equals("=")) { + num2=Integer.parseInt(Text.getText()); + if(a==0) + { + sum=num1+num2; + Text.setText(sum+"");} + else if(a==1) + { + sum=num1-num2; + Text.setText(sum+""); + } + else if(a==2) + { + sum=num1*num2; + Text.setText(sum+""); + } + else if(a==3) + { + sum=num1/num2; + Text.setText(sum+""); + } + } - } + } } + - -public static void main(String[] args) { - CalculatorStart calculatorstart=new CalculatorStart(); - calculatorstart.setVisible(true); -} -} - } \ No newline at end of file + + \ No newline at end of file -- Gitee From 51843111155930d64e47b386bca888bf147597a5 Mon Sep 17 00:00:00 2001 From: df Date: Wed, 25 May 2022 21:29:41 +0800 Subject: [PATCH 03/10] =?UTF-8?q?1."Back"=E9=94=AE=E4=B8=8E=E2=80=9CCE?= =?UTF-8?q?=E2=80=9D=E9=94=AE=E5=8A=9F=E8=83=BD=E9=87=8D=E5=A4=8D=EF=BC=8C?= =?UTF-8?q?=E5=B0=86=E2=80=9CBack=E2=80=9D=E9=94=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E4=BA=86=E7=AB=8B=E6=96=B9=EF=BC=9B=202.=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E7=BA=A2=E8=89=B2=E6=8C=89=E9=92=AE=E6=97=B6?= =?UTF-8?q?=E5=81=9C=E6=AD=A2=E7=A8=8B=E5=BA=8F=E8=BF=90=E8=A1=8C=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/CalculatorStart.java | 39 +++++++++++++++---------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/src/java2022spring/CalculatorStart.java b/src/java2022spring/CalculatorStart.java index c6bd0dc..72a8655 100644 --- a/src/java2022spring/CalculatorStart.java +++ b/src/java2022spring/CalculatorStart.java @@ -18,7 +18,7 @@ import java.awt.event.*; this.setTitle("计算器"); //设置窗口标题 this.setSize(350,450); //设置窗口大小 this.setLayout(new BorderLayout()); //设置布局方式 - this.setResizable(false); //当点击关闭窗口时退出程序 + this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //当点击关闭窗口时退出程序 this.setLocationRelativeTo(null); //窗口出现位置固定在正中央 Text=new JTextField(15); Text.setHorizontalAlignment(JTextField.RIGHT);//计算器显示数字的文本框内容右对齐 @@ -35,6 +35,7 @@ import java.awt.event.*; this.setJMenuBar(menubar); //设置按钮 JButton button[]=new JButton[28]; + button[0]=new JButton("MC"); button[1]=new JButton("MR"); button[2]=new JButton("MS"); @@ -45,7 +46,7 @@ import java.awt.event.*; button[7]=new JButton("1/x"); button[8]=new JButton("CE"); button[9]=new JButton("C"); - button[10]=new JButton("BACK"); + button[10]=new JButton("³"); button[11]=new JButton("÷"); button[12]=new JButton("7"); button[13]=new JButton("8"); @@ -63,9 +64,13 @@ import java.awt.event.*; button[25]=new JButton("0"); button[26]=new JButton("."); button[27]=new JButton("="); - + for(int i=0;i<=27;i++) { + button[i].setBackground(Color.WHITE); + button[i].setForeground(Color.BLACK); + } + Panel=new JPanel(); - Panel.setLayout(new GridLayout(7,4)); + Panel.setLayout(new GridLayout(7,4)); Panel.add(button[0]); Panel.add(button[1]); @@ -77,6 +82,7 @@ import java.awt.event.*; Panel.add(button[6]); Panel.add(button[7]); + Panel.add(button[8]); Panel.add(button[9]); Panel.add(button[10]); @@ -103,13 +109,14 @@ import java.awt.event.*; Panel.add(button[27]); this.add(Panel); - this.setVisible(true); - + this.setVisible(true); + for(int i=0;i<=27;i++) button[i].addActionListener(this); this.setVisible(true); } + @SuppressWarnings("unused") private StringBuilder getnum=new StringBuilder(); double num1,num2; @@ -180,15 +187,11 @@ import java.awt.event.*; { getnum=new StringBuilder(); Text.setText(getnum.toString()); - } - else if(str.equals("Back")) - { - } else if(str.equals("+")) {a=0; - num1 = Integer.parseInt(Text.getText()); - getnum= new StringBuilder(); + num1=Integer.parseInt(Text.getText()); + getnum=new StringBuilder(); Text.setText("+"); } else if(str.equals("-")) @@ -221,6 +224,11 @@ import java.awt.event.*; getnum=new StringBuilder(); Text.setText(num1*num1+""); } + else if(str.equals("³")) { + num1=Integer.parseInt(Text.getText()); + getnum=new StringBuilder(); + Text.setText(num1*num1*num1+""); + } else if(str.equals("sqrt")) { num1=Integer.parseInt(Text.getText()); getnum=new StringBuilder(); @@ -269,13 +277,12 @@ import java.awt.event.*; { sum=num1/num2; Text.setText(sum+""); - } - - - } + } + } } } + \ No newline at end of file -- Gitee From ad0336a4003a4b5244553594c9f456bfdfda0449 Mon Sep 17 00:00:00 2001 From: df Date: Fri, 27 May 2022 17:42:42 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E6=A0=8F=E5=92=8C=E8=8F=9C=E5=8D=95=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/CalculatorStart.java | 71 +++++++++++++++---------- 1 file changed, 42 insertions(+), 29 deletions(-) diff --git a/src/java2022spring/CalculatorStart.java b/src/java2022spring/CalculatorStart.java index 72a8655..cc60943 100644 --- a/src/java2022spring/CalculatorStart.java +++ b/src/java2022spring/CalculatorStart.java @@ -33,9 +33,21 @@ import java.awt.event.*; menubar.add(menu2); menubar.add(menu3); this.setJMenuBar(menubar); - //设置按钮 - JButton button[]=new JButton[28]; - + //设置菜单栏下的菜单项 + @SuppressWarnings("unused") + JMenuItem historyItem=new JMenuItem("历史"); + @SuppressWarnings("unused") + JMenuItem biaozhunItem=new JMenuItem("标准计算器"); + @SuppressWarnings("unused") + JMenuItem kexueItem=new JMenuItem("科学计算器"); + @SuppressWarnings("unused") + JMenuItem shiyongItem=new JMenuItem("使用说明"); + menu1.add(historyItem); + menu2.add(biaozhunItem); + menu2.add(kexueItem); + menu3.add(shiyongItem); + //设置按钮内容 + JButton button[]=new JButton[28]; button[0]=new JButton("MC"); button[1]=new JButton("MR"); button[2]=new JButton("MS"); @@ -68,7 +80,7 @@ import java.awt.event.*; button[i].setBackground(Color.WHITE); button[i].setForeground(Color.BLACK); } - + //设置按钮布局 Panel=new JPanel(); Panel.setLayout(new GridLayout(7,4)); @@ -108,12 +120,11 @@ import java.awt.event.*; Panel.add(button[26]); Panel.add(button[27]); - this.add(Panel); - this.setVisible(true); - - for(int i=0;i<=27;i++) + this.add(Panel); //添加面板至窗口 + this.setVisible(true); //显示面板内容 + for(int i=0;i<=27;i++) //定义监听器 button[i].addActionListener(this); - this.setVisible(true); + this.setVisible(true); } @@ -122,58 +133,59 @@ import java.awt.event.*; double num1,num2; double sum=0; int a; + //设置按钮功能 public void actionPerformed(ActionEvent e) { String str=e.getActionCommand(); if(str.equals("0")) - {getnum.append("0"); + {getnum.append("0"); //0 Text.setText(getnum.toString()); } - else if(str.equals("1")) + else if(str.equals("1")) //1 { getnum.append("1"); Text.setText(getnum.toString()); } - else if(str.equals("2")) + else if(str.equals("2")) //2 { getnum.append("2"); Text.setText(getnum.toString()); } - else if(str.equals("3")) + else if(str.equals("3")) //3 { getnum.append("3"); Text.setText(getnum.toString()); } - else if(str.equals("4")) + else if(str.equals("4")) //4 { getnum.append("4"); Text.setText(getnum.toString()); } - else if(str.equals("5")) + else if(str.equals("5")) //5 { getnum.append("5"); Text.setText(getnum.toString()); } - else if(str.equals("6")) + else if(str.equals("6")) //6 { getnum.append("6"); Text.setText(getnum.toString()); } - else if(str.equals("7")) + else if(str.equals("7")) //7 { getnum.append("7"); Text.setText(getnum.toString()); } - else if(str.equals("8")) + else if(str.equals("8")) //8 { getnum.append("8"); Text.setText(getnum.toString()); } - else if(str.equals("9")) + else if(str.equals("9")) //9 { getnum.append("9"); Text.setText(getnum.toString()); } - else if(str.equals(".")) + else if(str.equals(".")) //. { getnum.append("."); Text.setText(getnum.toString()); @@ -232,7 +244,8 @@ import java.awt.event.*; else if(str.equals("sqrt")) { num1=Integer.parseInt(Text.getText()); getnum=new StringBuilder(); - Text.setText(Math.sqrt(num1)+""); + Text.setText(Math.sqrt(num1)+""); + sum=Math.sqrt(num1); } else if(str.equals("1/x")) { num1=Integer.parseInt(Text.getText()); @@ -244,25 +257,25 @@ import java.awt.event.*; } } else if(str.equals("+/-")) { - num1=Integer.parseInt(Text.getText()); + num1=Double.parseDouble(Text.getText()); getnum=new StringBuilder(); if(num1>0) { - num1=-num1; - Text.setText(num1+""); + sum=-num1; + Text.setText(sum+""); } else if(num1<0) { - num1=-num1; - Text.setText(num1+""); + sum=-num1; + Text.setText(sum+""); } - } else if(str.equals("=")) { - num2=Integer.parseInt(Text.getText()); + num2=Double.parseDouble(Text.getText()); if(a==0) { sum=num1+num2; - Text.setText(sum+"");} + Text.setText(sum+""); + } else if(a==1) { sum=num1-num2; -- Gitee From c6db4c54d11b4ee24f0002efb844ec357d9f3d10 Mon Sep 17 00:00:00 2001 From: df Date: Sat, 28 May 2022 17:20:07 +0800 Subject: [PATCH 05/10] =?UTF-8?q?1.=E8=AE=BE=E7=BD=AE=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E9=A1=B9=E2=80=9C=E7=A7=91=E5=AD=A6=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E5=99=A8=E2=80=9D=E5=BC=B9=E5=87=BA=E6=96=B0=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=202.=E8=B0=83=E6=95=B4=E9=A1=B5=E9=9D=A2=E5=AD=97?= =?UTF-8?q?=E4=BD=93=E6=A0=B7=E5=BC=8F=E3=80=81=E5=A4=A7=E5=B0=8F=203.?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E7=AA=97=E4=BD=93=E5=A4=A7=E5=B0=8F=E5=8F=AF?= =?UTF-8?q?=E5=8F=98=E4=BB=A5=E4=BE=BF=E6=BB=A1=E8=B6=B3=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=AF=B9=E7=AA=97=E4=BD=93=E5=A4=A7=E5=B0=8F=E7=9A=84=E9=9C=80?= =?UTF-8?q?=E6=B1=82=204.=E6=96=B0=E5=A2=9E=E4=B8=80=E4=B8=AA=E7=B1=BB?= =?UTF-8?q?=EF=BC=8CScience=E8=AE=BE=E7=BD=AE=E7=A7=91=E5=AD=A6=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E5=99=A8=EF=BC=8C=E7=A7=91=E5=AD=A6=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E5=99=A8=E5=9F=BA=E4=BA=8E=E6=A0=87=E5=87=86=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E5=99=A8=E6=96=B0=E5=A2=9E=E4=B8=83=E4=B8=AA=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E5=8F=8A=E5=8A=9F=E8=83=BD=205.=E5=8F=91=E7=8E=B0=E5=89=8D?= =?UTF-8?q?=E6=9C=9F=E8=AE=BE=E7=BD=AE=E7=9A=84=E8=AF=BB=E5=8F=96num1?= =?UTF-8?q?=E4=B8=BAint=E7=B1=BB=E5=9E=8B=E5=BF=98=E8=AE=B0=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=B8=BAdouble=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=EF=BC=8C=E8=A7=A3=E5=86=B3=E5=B0=8F=E6=95=B0=E8=BF=90?= =?UTF-8?q?=E7=AE=97=E6=97=B6=E5=87=BA=E7=8E=B0=E7=9A=84bug=206.=E5=B0=86?= =?UTF-8?q?=E5=B8=83=E5=B1=80=E6=8C=89=E9=92=AE=E9=83=A8=E5=88=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=94=A8for=E8=AF=AD=E5=8F=A5=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E7=AE=80=E5=8C=96=E5=A4=84=E7=90=86=207.=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=88=90=E5=91=98=E5=8F=98=E9=87=8FStorageField=E4=B8=BA?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E5=8C=BA=E5=9F=9F=EF=BC=8C=E4=BB=A5=E4=BE=BF?= =?UTF-8?q?MR,MS=E7=AD=89=E5=8A=9F=E8=83=BD=E7=9A=84=E5=AE=9E=E7=8E=B0=208?= =?UTF-8?q?.=E8=8F=9C=E5=8D=95=E9=A1=B9=E8=AE=BE=E7=BD=AE=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E5=99=A8=EF=BC=8C=E7=82=B9=E5=87=BB=E2=80=9C=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E8=AF=B4=E6=98=8E=E2=80=9D=E5=BC=B9=E5=87=BA=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E6=98=BE=E7=A4=BA=E6=96=87=E6=9C=AC=E5=86=85?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/CalculatorStart.java | 237 ++++++++------- src/java2022spring/Science.java | 370 ++++++++++++++++++++++++ 2 files changed, 498 insertions(+), 109 deletions(-) create mode 100644 src/java2022spring/Science.java diff --git a/src/java2022spring/CalculatorStart.java b/src/java2022spring/CalculatorStart.java index cc60943..db9b97b 100644 --- a/src/java2022spring/CalculatorStart.java +++ b/src/java2022spring/CalculatorStart.java @@ -1,12 +1,20 @@ package java2022spring; import javax.swing.*; + +import java2022spring.Science; +import java2022spring.Use; + import java.awt.*; import java.awt.event.*; + @SuppressWarnings("unused") public class CalculatorStart { public static void main(String[] args) { new Jisuan(); + Jisuan BiaozhunApply=new Jisuan(); + BiaozhunApply.setVisible(true); + BiaozhunApply.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } @SuppressWarnings("serial") @@ -15,38 +23,58 @@ import java.awt.event.*; JTextField Text; JMenuBar menubar; public Jisuan(){ - this.setTitle("计算器"); //设置窗口标题 - this.setSize(350,450); //设置窗口大小 - this.setLayout(new BorderLayout()); //设置布局方式 - this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //当点击关闭窗口时退出程序 - this.setLocationRelativeTo(null); //窗口出现位置固定在正中央 + this.setTitle("标准计算器"); //设置窗口标题 + this.setSize(350,450); //设置窗口大小 + this.setLayout(new BorderLayout()); //设置布局方式 + this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //当点击关闭窗口时退出程序 + this.setLocationRelativeTo(null); //窗口出现位置固定在正中央 + this.setResizable(true); //窗体大小可以被用户改变 Text=new JTextField(15); - Text.setHorizontalAlignment(JTextField.RIGHT);//计算器显示数字的文本框内容右对齐 - Text.setEditable(true); - this.add(Text,BorderLayout.NORTH); //将文本框放至窗口北部 - //设置菜单栏 + Text.setHorizontalAlignment(JTextField.RIGHT); //计算器显示数字的文本框内容右对齐 + Text.setFont(new Font("TimesRoman",Font.BOLD,30)); //设置文本框字体样式及大小 + Text.setEditable(false); //文本框不可编辑 + Text.setBackground(Color.WHITE); + this.add(Text,BorderLayout.NORTH); //将文本框放至窗口北部 + + //**********************************设置菜单栏************************************ JMenuBar menubar=new JMenuBar(); - JMenu menu1=new JMenu("查看(V)"); - JMenu menu2=new JMenu("编辑(E)"); - JMenu menu3=new JMenu("帮助(H)"); + JMenu menu1=new JMenu("查看"); + JMenu menu2=new JMenu("编辑"); + JMenu menu3=new JMenu("帮助"); menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); this.setJMenuBar(menubar); //设置菜单栏下的菜单项 - @SuppressWarnings("unused") - JMenuItem historyItem=new JMenuItem("历史"); - @SuppressWarnings("unused") - JMenuItem biaozhunItem=new JMenuItem("标准计算器"); - @SuppressWarnings("unused") - JMenuItem kexueItem=new JMenuItem("科学计算器"); - @SuppressWarnings("unused") - JMenuItem shiyongItem=new JMenuItem("使用说明"); - menu1.add(historyItem); - menu2.add(biaozhunItem); - menu2.add(kexueItem); - menu3.add(shiyongItem); - //设置按钮内容 + JMenuItem historyItem=new JMenuItem("历史"); + JMenuItem biaozhunItem=new JMenuItem("标准计算器"); + JMenuItem kexueItem=new JMenuItem("科学计算器"); + JMenuItem shiyongItem=new JMenuItem("使用说明"); + menu1.add(historyItem); //在查看菜单栏中添加历史菜单项 + menu2.add(biaozhunItem); //在编辑菜单栏中添加标准计算器菜单项 + menu2.add(kexueItem); //在编辑菜单栏中添加科学计算器菜单项 + kexueItem.addActionListener(new ActionListener() { //设置点击科学计算器弹出科学计算器窗口 + public void actionPerformed(ActionEvent arg0) { + ScienceJisuan kexue = new ScienceJisuan(); + kexue.setVisible(true); + } + } + ); + menu3.add(shiyongItem); //在帮助菜单栏中添加使用说明菜单项 + shiyongItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JFrame use=new JFrame("使用说明"); + use.setSize(300,300); + use.setResizable(false); + use.setLocationRelativeTo(null); + JTextArea useText=new JTextArea("感谢您使用本计算器。\n(1)点击编辑可以选择你想要的计算器\n类型;\n(2)点击按钮开始运算"); + useText.setFont(new Font("TimesRoman",Font.BOLD,15)); + use.add(useText); + use.setVisible(true); + } + }); + + //************************************设置按钮************************************** JButton button[]=new JButton[28]; button[0]=new JButton("MC"); button[1]=new JButton("MR"); @@ -76,63 +104,29 @@ import java.awt.event.*; button[25]=new JButton("0"); button[26]=new JButton("."); button[27]=new JButton("="); - for(int i=0;i<=27;i++) { - button[i].setBackground(Color.WHITE); + for(int i=4;i<=27;i++) { + button[i].setBackground(Color.WHITE); //设置按钮颜色 button[i].setForeground(Color.BLACK); + button[i].setFont(new Font("",Font.PLAIN,15)); //设置按钮字体大小 } //设置按钮布局 Panel=new JPanel(); Panel.setLayout(new GridLayout(7,4)); - - Panel.add(button[0]); - Panel.add(button[1]); - Panel.add(button[2]); - Panel.add(button[3]); - - Panel.add(button[4]); - Panel.add(button[5]); - Panel.add(button[6]); - Panel.add(button[7]); - - - Panel.add(button[8]); - Panel.add(button[9]); - Panel.add(button[10]); - Panel.add(button[11]); - - Panel.add(button[12]); - Panel.add(button[13]); - Panel.add(button[14]); - Panel.add(button[15]); - - Panel.add(button[16]); - Panel.add(button[17]); - Panel.add(button[18]); - Panel.add(button[19]); - - Panel.add(button[20]); - Panel.add(button[21]); - Panel.add(button[22]); - Panel.add(button[23]); - - Panel.add(button[24]); - Panel.add(button[25]); - Panel.add(button[26]); - Panel.add(button[27]); - + for(int i=0;i<=27;i++) { + Panel.add(button[i]); + } this.add(Panel); //添加面板至窗口 this.setVisible(true); //显示面板内容 for(int i=0;i<=27;i++) //定义监听器 button[i].addActionListener(this); - this.setVisible(true); - + this.setVisible(true); } - - @SuppressWarnings("unused") + private StorageField storage=new StorageField(); //存储区 private StringBuilder getnum=new StringBuilder(); - double num1,num2; + double num1,num2,num3; double sum=0; int a; + boolean b=true; //设置按钮功能 public void actionPerformed(ActionEvent e) { String str=e.getActionCommand(); @@ -190,73 +184,77 @@ import java.awt.event.*; getnum.append("."); Text.setText(getnum.toString()); } - else if(str.equals("CE")) + else if(str.equals("CE")) //按下CE退格 { getnum.deleteCharAt(getnum.length()-1); Text.setText(getnum.toString()); } - else if(str.equals("C")) + else if(str.equals("C")) //按下C清空 { getnum=new StringBuilder(); Text.setText(getnum.toString()); } - else if(str.equals("+")) + else if(str.equals("+")) //+ {a=0; - num1=Integer.parseInt(Text.getText()); + num1=Double.parseDouble(Text.getText()); getnum=new StringBuilder(); - Text.setText("+"); + Text.setText("+"); + + } - else if(str.equals("-")) - { - num1=Integer.parseInt(Text.getText()); - a=1; + else if(str.equals("-")) //- + {a=1; + num1=Double.parseDouble(Text.getText()); getnum=new StringBuilder(); - Text.setText("-"); + Text.setText("-"); } - else if(str.equals("×")) { - num1=Integer.parseInt(Text.getText()); + else if(str.equals("×")) { //× + num1=Double.parseDouble(Text.getText()); a=2; getnum=new StringBuilder(); Text.setText("×"); } - else if(str.equals("÷")) { - num1=Integer.parseInt(Text.getText()); + else if(str.equals("÷")) { //÷ + num1=Double.parseDouble(Text.getText()); a=3; getnum=new StringBuilder(); Text.setText("÷"); } - else if(str.equals("%")) { - num1=Integer.parseInt(Text.getText()); + else if(str.equals("%")) { //取百分数 + num1=Double.parseDouble(Text.getText()); getnum=new StringBuilder(); - num1=num1/100; - Text.setText(num1+""); + sum=num1/100; + Text.setText(sum+""); } - else if(str.equals("²")) { - num1=Integer.parseInt(Text.getText()); + else if(str.equals("²")) { //平方 + num1=Double.parseDouble(Text.getText()); getnum=new StringBuilder(); Text.setText(num1*num1+""); + sum=num1*num1; } - else if(str.equals("³")) { - num1=Integer.parseInt(Text.getText()); + else if(str.equals("³")) { //立方 + num1=Double.parseDouble(Text.getText()); getnum=new StringBuilder(); Text.setText(num1*num1*num1+""); + sum=num1*num1*num1; } - else if(str.equals("sqrt")) { - num1=Integer.parseInt(Text.getText()); + else if(str.equals("sqrt")) { //开根 + num1=Double.parseDouble(Text.getText()); getnum=new StringBuilder(); Text.setText(Math.sqrt(num1)+""); sum=Math.sqrt(num1); } - else if(str.equals("1/x")) { - num1=Integer.parseInt(Text.getText()); + else if(str.equals("1/x")) { //倒数 + num1=Double.parseDouble(Text.getText()); getnum=new StringBuilder(); if(num1==0) { Text.setText(num1+"不能求倒数"); }else { Text.setText(1/num1+""); + sum=1/num1; } } - else if(str.equals("+/-")) { + else if(str.equals("+/-")) { //正负转换 num1=Double.parseDouble(Text.getText()); getnum=new StringBuilder(); if(num1>0) { @@ -269,31 +267,52 @@ import java.awt.event.*; } } - else if(str.equals("=")) { + else if(str.equals("=")) { //按=实现算法 num2=Double.parseDouble(Text.getText()); - if(a==0) - { + if(a==0) { sum=num1+num2; Text.setText(sum+""); - } - else if(a==1) - { + } + else if(a==1){ sum=num1-num2; Text.setText(sum+""); } - else if(a==2) - { + else if(a==2) { sum=num1*num2; Text.setText(sum+""); } - else if(a==3) - { + else if(a==3) { sum=num1/num2; Text.setText(sum+""); - } - } + } } - } + else if(str.equals("MC")) { //清空存储区 + storage.StorageJudge=true; + storage.StorageNum=0; + } + else if(str.equals("MR")) { //显示存储区存储数 + storage.StorageJudge=true; + Text.setText(storage.StorageNum+""); + } + else if(str.equals("MS")){ //存储文本框内的数 + num3=Double.parseDouble(Text.getText()); + storage.StorageNum=num3; + } + else if(str.equals("M+")) { //将存储数加上文本框内的数 + storage.StorageJudge=true; + num3=Double.parseDouble(Text.getText()); + storage.StorageNum+=num3; + } + } +class StorageField{ +public double StorageNum; //存储数据 +public boolean StorageJudge; //是否启动存储区 +public StorageField(){ + StorageNum=0; + StorageJudge=false; +} +} +} diff --git a/src/java2022spring/Science.java b/src/java2022spring/Science.java new file mode 100644 index 0000000..ced91ed --- /dev/null +++ b/src/java2022spring/Science.java @@ -0,0 +1,370 @@ +package java2022spring; + +import javax.swing.*; + +import java2022spring.CalculatorStart; +import java2022spring.Use; + +import java.awt.*; +import java.awt.event.*; + +@SuppressWarnings("unused") +public class Science{ + public static void main(String[] args) { + new ScienceJisuan(); + ScienceJisuan ScienceApply=new ScienceJisuan(); + ScienceApply.setVisible(true); + ScienceApply.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); +} +} +@SuppressWarnings("serial") +class ScienceJisuan extends JFrame implements ActionListener{ + JPanel Panel; + JPanel Panel2; + JTextField Text; + JMenuBar menubar; + public ScienceJisuan(){ + this.setTitle("科学计算器"); //设置窗口标题 + this.setSize(450,450); //设置窗口大小 + this.setLayout(new BorderLayout()); //设置布局方式 + this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //当点击关闭窗口时退出程序 + this.setLocationRelativeTo(null); //窗口出现位置固定在正中央 + this.setResizable(true); //窗体大小可以被用户改变 + Text=new JTextField(15); + Text.setHorizontalAlignment(JTextField.RIGHT); //计算器显示数字的文本框内容右对齐 + Text.setFont(new Font("TimesRoman",Font.BOLD,30)); //设置文本框字体样式及大小 + Text.setEditable(false); + Text.setBackground(Color.WHITE); + this.add(Text,BorderLayout.NORTH); //将文本框放至窗口北部 + + //**********************************设置菜单栏************************************ + JMenuBar menubar=new JMenuBar(); + JMenu menu1=new JMenu("查看"); + JMenu menu2=new JMenu("编辑"); + JMenu menu3=new JMenu("帮助"); + menubar.add(menu1); + menubar.add(menu2); + menubar.add(menu3); + this.setJMenuBar(menubar); + //设置菜单栏下的菜单项 + JMenuItem historyItem=new JMenuItem("历史"); + JMenuItem biaozhunItem=new JMenuItem("标准计算器"); + JMenuItem kexueItem=new JMenuItem("科学计算器"); + JMenuItem shiyongItem=new JMenuItem("使用说明"); + menu1.add(historyItem); //在查看菜单栏中添加历史菜单项 + menu2.add(biaozhunItem); //在编辑菜单栏中添加标准计算器菜单项 + menu2.add(kexueItem); //在编辑菜单栏中添加科学计算器菜单项 + biaozhunItem.addActionListener(new ActionListener() { //设置点击科学计算器弹出科学计算器窗口 + public void actionPerformed(ActionEvent arg0) { + Jisuan biaozhun = new Jisuan(); + biaozhun.setVisible(true); + } + } + ); + menu3.add(shiyongItem); //在帮助菜单栏中添加使用说明菜单项 + shiyongItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JFrame use=new JFrame("使用说明"); + use.setSize(300,300); + use.setResizable(false); + use.setLocationRelativeTo(null); + JTextArea useText=new JTextArea("感谢您使用本计算器。\n(1)点击编辑可以选择你想要的计算器\n类型;\n(2)点击按钮开始运算"); + useText.setFont(new Font("TimesRoman",Font.BOLD,15)); + use.add(useText); + use.setVisible(true); + } + }); + + //************************************设置第一个面板的按钮************************************** + JButton button[]=new JButton[28]; + button[0]=new JButton("MC"); + button[1]=new JButton("MR"); + button[2]=new JButton("MS"); + button[3]=new JButton("M+"); + button[4]=new JButton("%"); + button[5]=new JButton("sqrt"); + button[6]=new JButton("²"); + button[7]=new JButton("1/x"); + button[8]=new JButton("CE"); + button[9]=new JButton("C"); + button[10]=new JButton("³"); + button[11]=new JButton("÷"); + button[12]=new JButton("7"); + button[13]=new JButton("8"); + button[14]=new JButton("9"); + button[15]=new JButton("×"); + button[16]=new JButton("4"); + button[17]=new JButton("5"); + button[18]=new JButton("6"); + button[19]=new JButton("-"); + button[20]=new JButton("1"); + button[21]=new JButton("2"); + button[22]=new JButton("3"); + button[23]=new JButton("+"); + button[24]=new JButton("+/-"); + button[25]=new JButton("0"); + button[26]=new JButton("."); + button[27]=new JButton("="); + for(int i=4;i<=27;i++) { + button[i].setBackground(Color.WHITE); //设置按钮颜色 + button[i].setForeground(Color.BLACK); + button[i].setFont(new Font("",Font.PLAIN,15)); //设置按钮字体大小 + } + //设置按钮布局 + Panel=new JPanel(); + Panel.setLayout(new GridLayout(7,4)); + for(int i=0;i<=27;i++) { + Panel.add(button[i]); + button[i].addActionListener(this); + } + this.add(Panel); //添加面板至窗口 + this.setVisible(true); + //*****************************设置第二个面板的按钮(科学计算器新增)************************************** + JButton button2[]=new JButton[7]; + button2[0]=new JButton("M-"); + button2[1]=new JButton("sin"); + button2[2]=new JButton("cos"); + button2[3]=new JButton("tan"); + button2[4]=new JButton("lg"); + button2[5]=new JButton("exp"); + button2[6]=new JButton("π"); + Panel2=new JPanel(); + Panel2.setLayout(new GridLayout(7,1)); + for(int i=0;i<=6;i++) { + Panel2.add(button2[i]); + button2[i].addActionListener(this); + } + this.add(Panel2,BorderLayout.EAST); + this.setVisible(true); + } + private StorageField storage=new StorageField(); //存储区 + private StringBuilder getnum=new StringBuilder(); + double num1,num2,num3; + double sum=0; + int a=0; + boolean b=true; + //设置按钮功能 + public void actionPerformed(ActionEvent e) { + String str=e.getActionCommand(); + if(str.equals("0")) + {getnum.append("0"); //0 + Text.setText(getnum.toString()); + } + else if(str.equals("1")) //1 + { + getnum.append("1"); + Text.setText(getnum.toString()); + } + else if(str.equals("2")) //2 + { + getnum.append("2"); + Text.setText(getnum.toString()); + } + else if(str.equals("3")) //3 + { + getnum.append("3"); + Text.setText(getnum.toString()); + } + else if(str.equals("4")) //4 + { + getnum.append("4"); + Text.setText(getnum.toString()); + } + else if(str.equals("5")) //5 + { + getnum.append("5"); + Text.setText(getnum.toString()); + } + else if(str.equals("6")) //6 + { + getnum.append("6"); + Text.setText(getnum.toString()); + } + else if(str.equals("7")) //7 + { + getnum.append("7"); + Text.setText(getnum.toString()); + } + else if(str.equals("8")) //8 + { + getnum.append("8"); + Text.setText(getnum.toString()); + } + else if(str.equals("9")) //9 + { + getnum.append("9"); + Text.setText(getnum.toString()); + } + else if(str.equals(".")) //. + { + getnum.append("."); + Text.setText(getnum.toString()); + } + else if(str.equals("π")) + {getnum.append("3.1415592653589793"); + Text.setText(getnum.toString()); + } + + if(str.equals("CE")) //按下CE退格 + { + getnum.deleteCharAt(getnum.length()-1); + Text.setText(getnum.toString()); + } + else if(str.equals("C")) //按下C清空 + { + getnum=new StringBuilder(); + Text.setText(getnum.toString()); + } + else if(str.equals("+")) //+ + { + a=1; + num1=Double.parseDouble(Text.getText()); + getnum=new StringBuilder(); + Text.setText("+"); + } + else if(str.equals("-")) //- + {a=2; + num1=Double.parseDouble(Text.getText()); + getnum=new StringBuilder(); + Text.setText("-"); + } + else if(str.equals("×")) { //× + num1=Double.parseDouble(Text.getText()); + a=3; + getnum=new StringBuilder(); + Text.setText("×"); + } + else if(str.equals("÷")) { //÷ + num1=Double.parseDouble(Text.getText()); + a=4; + getnum=new StringBuilder(); + Text.setText("÷"); + } + else if(str.equals("%")) { //取百分数 + num1=Double.parseDouble(Text.getText()); + getnum=new StringBuilder(); + sum=num1/100; + Text.setText(sum+""); + } + else if(str.equals("²")) { //平方 + num1=Double.parseDouble(Text.getText()); + getnum=new StringBuilder(); + Text.setText(num1*num1+""); + sum=num1*num1; + } + else if(str.equals("³")) { //立方 + num1=Double.parseDouble(Text.getText()); + getnum=new StringBuilder(); + Text.setText(num1*num1*num1+""); + sum=num1*num1*num1; + } + else if(str.equals("sqrt")) { //开根 + num1=Double.parseDouble(Text.getText()); + getnum=new StringBuilder(); + Text.setText(Math.sqrt(num1)+""); + sum=Math.sqrt(num1); + } + else if(str.equals("1/x")) { //倒数 + num1=Double.parseDouble(Text.getText()); + getnum=new StringBuilder(); + if(num1==0) { + Text.setText(num1+"不能求倒数"); + }else { + Text.setText(1/num1+""); + sum=1/num1; + } + } + else if(str.equals("+/-")) { //正负转换 + num1=Double.parseDouble(Text.getText()); + getnum=new StringBuilder(); + if(num1>0) { + sum=-num1; + Text.setText(sum+""); + } + else if(num1<0) { + sum=-num1; + Text.setText(sum+""); + } + } + + else if(str.equals("=")) { //按=实现算法 + num2=Double.parseDouble(Text.getText()); + if(a==1) { + sum=num1+num2; + Text.setText(sum+""); + } + else if(a==2){ + sum=num1-num2; + Text.setText(sum+""); + } + else if(a==3) { + sum=num1*num2; + Text.setText(sum+""); + } + else if(a==4) { + sum=num1/num2; + Text.setText(sum+""); + } + } + else if(str.equals("MC")) { //清空存储区 + storage.StorageJudge=true; + storage.StorageNum=0; + } + else if(str.equals("MR")) { //显示存储区存储数 + storage.StorageJudge=true; + Text.setText(storage.StorageNum+""); + } + else if(str.equals("MS")){ //存储文本框内的数 + num3=Double.parseDouble(Text.getText()); + storage.StorageNum=num3; + } + else if(str.equals("M+")) { //将存储数加上文本框内的数 + storage.StorageJudge=true; + num3=Double.parseDouble(Text.getText()); + storage.StorageNum+=num3; + } + else if(str.equals("M-")) { + storage.StorageJudge=true; + num3=Double.parseDouble(Text.getText()); + storage.StorageNum-=num3; + } + else if(str.equals("sin")) { + num1=Double.parseDouble(Text.getText()); + getnum=new StringBuilder(); + sum=Math.sin(num1); + Text.setText(sum+""); + } + else if(str.equals("cos")) { + num1=Double.parseDouble(Text.getText()); + getnum=new StringBuilder(); + sum=Math.cos(num1); + Text.setText(sum+""); + } + else if(str.equals("tan")) { + num1=Double.parseDouble(Text.getText()); + getnum=new StringBuilder(); + sum=Math.tan(num1); + Text.setText(sum+""); + } + else if(str.equals("lg")) { + num1=Double.parseDouble(Text.getText()); + getnum=new StringBuilder(); + sum=Math.log10(num1); + Text.setText(sum+""); + } + else if(str.equals("exp")) { + num1=Double.parseDouble(Text.getText()); + getnum=new StringBuilder(); + sum=Math.exp(num1); + Text.setText(sum+""); + } + } +class StorageField{ +public double StorageNum; //存储数据 +public boolean StorageJudge; //是否启动存储区 +public StorageField(){ +StorageNum=0; +StorageJudge=false; +} +} +} \ No newline at end of file -- Gitee From 54d4e5f4ffeba65618bba93021343464215b51e9 Mon Sep 17 00:00:00 2001 From: df Date: Sun, 29 May 2022 23:23:31 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/CalculatorStart.java | 15 +++++---------- src/java2022spring/Science.java | 7 +------ 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/src/java2022spring/CalculatorStart.java b/src/java2022spring/CalculatorStart.java index db9b97b..e8ca7c5 100644 --- a/src/java2022spring/CalculatorStart.java +++ b/src/java2022spring/CalculatorStart.java @@ -3,7 +3,6 @@ package java2022spring; import javax.swing.*; import java2022spring.Science; -import java2022spring.Use; import java.awt.*; import java.awt.event.*; @@ -37,20 +36,16 @@ import java.awt.event.*; this.add(Text,BorderLayout.NORTH); //将文本框放至窗口北部 //**********************************设置菜单栏************************************ - JMenuBar menubar=new JMenuBar(); - JMenu menu1=new JMenu("查看"); - JMenu menu2=new JMenu("编辑"); + JMenuBar menubar=new JMenuBar(); + JMenu menu2=new JMenu("选择"); JMenu menu3=new JMenu("帮助"); - menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); this.setJMenuBar(menubar); //设置菜单栏下的菜单项 - JMenuItem historyItem=new JMenuItem("历史"); JMenuItem biaozhunItem=new JMenuItem("标准计算器"); JMenuItem kexueItem=new JMenuItem("科学计算器"); JMenuItem shiyongItem=new JMenuItem("使用说明"); - menu1.add(historyItem); //在查看菜单栏中添加历史菜单项 menu2.add(biaozhunItem); //在编辑菜单栏中添加标准计算器菜单项 menu2.add(kexueItem); //在编辑菜单栏中添加科学计算器菜单项 kexueItem.addActionListener(new ActionListener() { //设置点击科学计算器弹出科学计算器窗口 @@ -131,7 +126,8 @@ import java.awt.event.*; public void actionPerformed(ActionEvent e) { String str=e.getActionCommand(); if(str.equals("0")) - {getnum.append("0"); //0 + { + getnum.append("0"); //0 Text.setText(getnum.toString()); } else if(str.equals("1")) //1 @@ -198,8 +194,7 @@ import java.awt.event.*; {a=0; num1=Double.parseDouble(Text.getText()); getnum=new StringBuilder(); - Text.setText("+"); - + Text.setText("+"); } else if(str.equals("-")) //- diff --git a/src/java2022spring/Science.java b/src/java2022spring/Science.java index ced91ed..f3e2fce 100644 --- a/src/java2022spring/Science.java +++ b/src/java2022spring/Science.java @@ -3,7 +3,6 @@ package java2022spring; import javax.swing.*; import java2022spring.CalculatorStart; -import java2022spring.Use; import java.awt.*; import java.awt.event.*; @@ -39,19 +38,15 @@ class ScienceJisuan extends JFrame implements ActionListener{ //**********************************设置菜单栏************************************ JMenuBar menubar=new JMenuBar(); - JMenu menu1=new JMenu("查看"); - JMenu menu2=new JMenu("编辑"); + JMenu menu2=new JMenu("选择"); JMenu menu3=new JMenu("帮助"); - menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); this.setJMenuBar(menubar); //设置菜单栏下的菜单项 - JMenuItem historyItem=new JMenuItem("历史"); JMenuItem biaozhunItem=new JMenuItem("标准计算器"); JMenuItem kexueItem=new JMenuItem("科学计算器"); JMenuItem shiyongItem=new JMenuItem("使用说明"); - menu1.add(historyItem); //在查看菜单栏中添加历史菜单项 menu2.add(biaozhunItem); //在编辑菜单栏中添加标准计算器菜单项 menu2.add(kexueItem); //在编辑菜单栏中添加科学计算器菜单项 biaozhunItem.addActionListener(new ActionListener() { //设置点击科学计算器弹出科学计算器窗口 -- Gitee From 58ea8ad644d981e9c01d3f64b9a19b6eb279536f Mon Sep 17 00:00:00 2001 From: df Date: Tue, 31 May 2022 09:57:03 +0800 Subject: [PATCH 07/10] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E8=AF=B4=E6=98=8E=202.=E5=8F=91=E7=8E=B0=E6=8C=89=E7=AD=89?= =?UTF-8?q?=E5=8F=B7=E8=87=AA=E5=8A=A8=E7=9B=B8=E5=8A=A0=E4=BA=86=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=3D=E5=AF=B9=E5=BA=94=E5=8A=A0?= =?UTF-8?q?=E5=87=8F=E4=B9=98=E9=99=A4=E7=9A=84a=E7=9A=84=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E5=A4=A7=E5=B0=8F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/CalculatorStart.java | 30 +++++++++++++------------ src/java2022spring/Science.java | 11 +++++---- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/java2022spring/CalculatorStart.java b/src/java2022spring/CalculatorStart.java index e8ca7c5..32aa434 100644 --- a/src/java2022spring/CalculatorStart.java +++ b/src/java2022spring/CalculatorStart.java @@ -59,11 +59,15 @@ import java.awt.event.*; shiyongItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFrame use=new JFrame("使用说明"); - use.setSize(300,300); + use.setSize(350,300); use.setResizable(false); use.setLocationRelativeTo(null); - JTextArea useText=new JTextArea("感谢您使用本计算器。\n(1)点击编辑可以选择你想要的计算器\n类型;\n(2)点击按钮开始运算"); - useText.setFont(new Font("TimesRoman",Font.BOLD,15)); + JTextArea useText=new JTextArea("感谢您使用本计算器。\n使用说明:\n(1)点击编辑可以选择你想要的计算器类型;\n" + + "(2)点击按钮开始运算。\n按钮功能说明:\n(1)+为加号,-为减号,×为乘号,÷为除号;\n(2)CE退格,C清空;\n" + + "(3)%除以一百,sqrt取平方根,²平方,³立方,1/x\n取倒数;\n(4)MS存储记忆当前数字,MC清空存储数字,MR呈\n现存储数字," + + "M+将存储数字与当前数字相加,M-将存\n储数字与当前数字相减;\n(5)sin正弦函数,cos余弦函数,tan正切函数,lg以\n十为底的对数,exp求余;" + + ""); + useText.setFont(new Font("TimesRoman",Font.BOLD,13)); use.add(useText); use.setVisible(true); } @@ -121,7 +125,6 @@ import java.awt.event.*; double num1,num2,num3; double sum=0; int a; - boolean b=true; //设置按钮功能 public void actionPerformed(ActionEvent e) { String str=e.getActionCommand(); @@ -191,27 +194,26 @@ import java.awt.event.*; Text.setText(getnum.toString()); } else if(str.equals("+")) //+ - {a=0; + {a=1; num1=Double.parseDouble(Text.getText()); getnum=new StringBuilder(); Text.setText("+"); - - } + } else if(str.equals("-")) //- - {a=1; + {a=2; num1=Double.parseDouble(Text.getText()); getnum=new StringBuilder(); Text.setText("-"); } else if(str.equals("×")) { //× num1=Double.parseDouble(Text.getText()); - a=2; + a=3; getnum=new StringBuilder(); Text.setText("×"); } else if(str.equals("÷")) { //÷ num1=Double.parseDouble(Text.getText()); - a=3; + a=4; getnum=new StringBuilder(); Text.setText("÷"); } @@ -264,19 +266,19 @@ import java.awt.event.*; else if(str.equals("=")) { //按=实现算法 num2=Double.parseDouble(Text.getText()); - if(a==0) { + if(a==1) { sum=num1+num2; Text.setText(sum+""); } - else if(a==1){ + else if(a==2){ sum=num1-num2; Text.setText(sum+""); } - else if(a==2) { + else if(a==3) { sum=num1*num2; Text.setText(sum+""); } - else if(a==3) { + else if(a==4) { sum=num1/num2; Text.setText(sum+""); } diff --git a/src/java2022spring/Science.java b/src/java2022spring/Science.java index f3e2fce..ac814a7 100644 --- a/src/java2022spring/Science.java +++ b/src/java2022spring/Science.java @@ -60,11 +60,15 @@ class ScienceJisuan extends JFrame implements ActionListener{ shiyongItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFrame use=new JFrame("使用说明"); - use.setSize(300,300); + use.setSize(350,300); use.setResizable(false); use.setLocationRelativeTo(null); - JTextArea useText=new JTextArea("感谢您使用本计算器。\n(1)点击编辑可以选择你想要的计算器\n类型;\n(2)点击按钮开始运算"); - useText.setFont(new Font("TimesRoman",Font.BOLD,15)); + JTextArea useText=new JTextArea("感谢您使用本计算器。\n使用说明:\n(1)点击编辑可以选择你想要的计算器类型;\n" + + "(2)点击按钮开始运算。\n按钮功能说明:\n(1)+为加号,-为减号,×为乘号,÷为除号;\n(2)CE退格,C清空;\n" + + "(3)%除以一百,sqrt取平方根,²平方,³立方,1/x\n取倒数;\n(4)MS存储记忆当前数字,MC清空存储数字,MR呈\n现存储数字," + + "M+将存储数字与当前数字相加,M-将存\n储数字与当前数字相减;\n(5)sin正弦函数,cos余弦函数,tan正切函数,lg以\n十为底的对数,exp求余;" + + ""); + useText.setFont(new Font("TimesRoman",Font.BOLD,13)); use.add(useText); use.setVisible(true); } @@ -137,7 +141,6 @@ class ScienceJisuan extends JFrame implements ActionListener{ double num1,num2,num3; double sum=0; int a=0; - boolean b=true; //设置按钮功能 public void actionPerformed(ActionEvent e) { String str=e.getActionCommand(); -- Gitee From 215489c5a87ed47199ab4aa24751ae409ed89c97 Mon Sep 17 00:00:00 2001 From: df Date: Wed, 1 Jun 2022 09:42:15 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E7=82=B9=E4=BD=BF=E7=94=A8=E8=AF=B4=E6=98=8E=E6=96=87=E6=A1=88?= =?UTF-8?q?=EF=BC=8C=E4=BB=A5=E5=8F=8Ace=E9=94=AE=E6=94=B9=E5=90=8D?= =?UTF-8?q?=E4=B8=BAback=E9=94=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/CalculatorStart.java | 12 ++++++------ src/java2022spring/Science.java | 15 +++++++-------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/java2022spring/CalculatorStart.java b/src/java2022spring/CalculatorStart.java index 32aa434..0d3f3f8 100644 --- a/src/java2022spring/CalculatorStart.java +++ b/src/java2022spring/CalculatorStart.java @@ -59,13 +59,13 @@ import java.awt.event.*; shiyongItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFrame use=new JFrame("使用说明"); - use.setSize(350,300); + use.setSize(350,340); use.setResizable(false); use.setLocationRelativeTo(null); - JTextArea useText=new JTextArea("感谢您使用本计算器。\n使用说明:\n(1)点击编辑可以选择你想要的计算器类型;\n" - + "(2)点击按钮开始运算。\n按钮功能说明:\n(1)+为加号,-为减号,×为乘号,÷为除号;\n(2)CE退格,C清空;\n" + JTextArea useText=new JTextArea("感谢您使用本计算器。\n操作说明:\n(1)点击编辑可以选择你想要的计算器类型;\n" + + "(2)点击按钮开始运算。\n按钮功能说明:\n(1)+为加号,-为减号,×为乘号,÷为除号,+/-为当\n前数字的正负转换;\n(2)BACK退格,C清空;\n" + "(3)%除以一百,sqrt取平方根,²平方,³立方,1/x\n取倒数;\n(4)MS存储记忆当前数字,MC清空存储数字,MR呈\n现存储数字," - + "M+将存储数字与当前数字相加,M-将存\n储数字与当前数字相减;\n(5)sin正弦函数,cos余弦函数,tan正切函数,lg以\n十为底的对数,exp求余;" + + "M+将存储数字与当前数字相加,M-将存\n储数字与当前数字相减;\n(5)sin正弦函数,cos余弦函数,tan正切函数,lg以\n十为底的对数,exp是e的n次方;" + ""); useText.setFont(new Font("TimesRoman",Font.BOLD,13)); use.add(useText); @@ -83,7 +83,7 @@ import java.awt.event.*; button[5]=new JButton("sqrt"); button[6]=new JButton("²"); button[7]=new JButton("1/x"); - button[8]=new JButton("CE"); + button[8]=new JButton("BACK"); button[9]=new JButton("C"); button[10]=new JButton("³"); button[11]=new JButton("÷"); @@ -183,7 +183,7 @@ import java.awt.event.*; getnum.append("."); Text.setText(getnum.toString()); } - else if(str.equals("CE")) //按下CE退格 + else if(str.equals("BACK")) //按下CE退格 { getnum.deleteCharAt(getnum.length()-1); Text.setText(getnum.toString()); diff --git a/src/java2022spring/Science.java b/src/java2022spring/Science.java index ac814a7..2db15b7 100644 --- a/src/java2022spring/Science.java +++ b/src/java2022spring/Science.java @@ -60,13 +60,13 @@ class ScienceJisuan extends JFrame implements ActionListener{ shiyongItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFrame use=new JFrame("使用说明"); - use.setSize(350,300); + use.setSize(350,340); use.setResizable(false); use.setLocationRelativeTo(null); - JTextArea useText=new JTextArea("感谢您使用本计算器。\n使用说明:\n(1)点击编辑可以选择你想要的计算器类型;\n" - + "(2)点击按钮开始运算。\n按钮功能说明:\n(1)+为加号,-为减号,×为乘号,÷为除号;\n(2)CE退格,C清空;\n" + JTextArea useText=new JTextArea("感谢您使用本计算器。\n操作说明:\n(1)点击编辑可以选择你想要的计算器类型;\n" + + "(2)点击按钮开始运算。\n按钮功能说明:\n(1)+为加号,-为减号,×为乘号,÷为除号,+/-为当\n前数字的正负转换;\n(2)BACK退格,C清空;\n" + "(3)%除以一百,sqrt取平方根,²平方,³立方,1/x\n取倒数;\n(4)MS存储记忆当前数字,MC清空存储数字,MR呈\n现存储数字," - + "M+将存储数字与当前数字相加,M-将存\n储数字与当前数字相减;\n(5)sin正弦函数,cos余弦函数,tan正切函数,lg以\n十为底的对数,exp求余;" + + "M+将存储数字与当前数字相加,M-将存\n储数字与当前数字相减;\n(5)sin正弦函数,cos余弦函数,tan正切函数,lg以\n十为底的对数,exp是e的n次方;" + ""); useText.setFont(new Font("TimesRoman",Font.BOLD,13)); use.add(useText); @@ -84,7 +84,7 @@ class ScienceJisuan extends JFrame implements ActionListener{ button[5]=new JButton("sqrt"); button[6]=new JButton("²"); button[7]=new JButton("1/x"); - button[8]=new JButton("CE"); + button[8]=new JButton("BACK"); button[9]=new JButton("C"); button[10]=new JButton("³"); button[11]=new JButton("÷"); @@ -116,8 +116,7 @@ class ScienceJisuan extends JFrame implements ActionListener{ Panel.add(button[i]); button[i].addActionListener(this); } - this.add(Panel); //添加面板至窗口 - this.setVisible(true); + this.add(Panel); //添加面板至窗口 //*****************************设置第二个面板的按钮(科学计算器新增)************************************** JButton button2[]=new JButton[7]; button2[0]=new JButton("M-"); @@ -203,7 +202,7 @@ class ScienceJisuan extends JFrame implements ActionListener{ Text.setText(getnum.toString()); } - if(str.equals("CE")) //按下CE退格 + if(str.equals("BACK")) //按下CE退格 { getnum.deleteCharAt(getnum.length()-1); Text.setText(getnum.toString()); -- Gitee From 1862228cc79dafbe9b037cd90aabeee45202a99d Mon Sep 17 00:00:00 2001 From: df Date: Mon, 6 Jun 2022 21:41:47 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=BA=86=E4=B8=8D?= =?UTF-8?q?=E5=BF=85=E8=A6=81=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/CalculatorStart.java | 3 --- src/java2022spring/Science.java | 3 --- 2 files changed, 6 deletions(-) diff --git a/src/java2022spring/CalculatorStart.java b/src/java2022spring/CalculatorStart.java index 0d3f3f8..068332d 100644 --- a/src/java2022spring/CalculatorStart.java +++ b/src/java2022spring/CalculatorStart.java @@ -11,9 +11,6 @@ import java.awt.event.*; public class CalculatorStart { public static void main(String[] args) { new Jisuan(); - Jisuan BiaozhunApply=new Jisuan(); - BiaozhunApply.setVisible(true); - BiaozhunApply.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } @SuppressWarnings("serial") diff --git a/src/java2022spring/Science.java b/src/java2022spring/Science.java index 2db15b7..96b6e50 100644 --- a/src/java2022spring/Science.java +++ b/src/java2022spring/Science.java @@ -11,9 +11,6 @@ import java.awt.event.*; public class Science{ public static void main(String[] args) { new ScienceJisuan(); - ScienceJisuan ScienceApply=new ScienceJisuan(); - ScienceApply.setVisible(true); - ScienceApply.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } @SuppressWarnings("serial") -- Gitee From 275e1c3202884fb593c13596470250a46ba875e5 Mon Sep 17 00:00:00 2001 From: df Date: Tue, 7 Jun 2022 22:10:15 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=CF=80=E7=9A=84=E5=80=BC=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E6=9C=89=E8=AF=AF=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=BA=86?= =?UTF-8?q?=E4=B8=80=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/CalculatorStart.java | 2 -- src/java2022spring/Science.java | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/java2022spring/CalculatorStart.java b/src/java2022spring/CalculatorStart.java index 068332d..6b1ac62 100644 --- a/src/java2022spring/CalculatorStart.java +++ b/src/java2022spring/CalculatorStart.java @@ -1,9 +1,7 @@ package java2022spring; import javax.swing.*; - import java2022spring.Science; - import java.awt.*; import java.awt.event.*; diff --git a/src/java2022spring/Science.java b/src/java2022spring/Science.java index 96b6e50..600294b 100644 --- a/src/java2022spring/Science.java +++ b/src/java2022spring/Science.java @@ -46,7 +46,7 @@ class ScienceJisuan extends JFrame implements ActionListener{ JMenuItem shiyongItem=new JMenuItem("使用说明"); menu2.add(biaozhunItem); //在编辑菜单栏中添加标准计算器菜单项 menu2.add(kexueItem); //在编辑菜单栏中添加科学计算器菜单项 - biaozhunItem.addActionListener(new ActionListener() { //设置点击科学计算器弹出科学计算器窗口 + biaozhunItem.addActionListener(new ActionListener() { //设置点击标准计算器弹出科学计算器窗口 public void actionPerformed(ActionEvent arg0) { Jisuan biaozhun = new Jisuan(); biaozhun.setVisible(true); @@ -195,7 +195,7 @@ class ScienceJisuan extends JFrame implements ActionListener{ Text.setText(getnum.toString()); } else if(str.equals("π")) - {getnum.append("3.1415592653589793"); + {getnum.append("3.141592653589793"); Text.setText(getnum.toString()); } -- Gitee