From 44081ee934f77d516be101391094ffbd092f11b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E7=BB=AE=E8=8E=8E?= <1379598943@qq.com> Date: Sun, 5 Jun 2022 00:00:51 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E5=92=8C=E6=B3=A8=E5=86=8C=E7=9B=91=E8=A7=86=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Panel.java | 139 ++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 src/java2022spring/Panel.java diff --git a/src/java2022spring/Panel.java b/src/java2022spring/Panel.java new file mode 100644 index 0000000..67acfd5 --- /dev/null +++ b/src/java2022spring/Panel.java @@ -0,0 +1,139 @@ +package java2022spring; + +import java.awt.event.*; +import java.math.BigDecimal; +import java.util.Vector; +import javax.swing.*; + +import java.awt.*; + +public class Panel extends JFrame{ + JFrame frame=new JFrame("计算器"); + JPanel p1=new JPanel(); + JPanel p2=new JPanel(); + JButton button[][]=new JButton[5][4]; + + JButton store; + JTextField textone=new JTextField(40); + StringBuffer str; + double x,y; + int n; + static String str1="0"; + static String str2="0"; + static String signal="+"; + static String result="="; + Vector vt=new Vector(20,10); + int k1=1; + int k2=1; + int k3=1; + int k4=1; + int k5=1; + + Panel() { + p1.add(textone); + p2.setLayout(new java.awt.GridLayout(5,4,4,4)); + + frame.pack(); + + frame.setResizable(false); + frame.setSize(400,350); + frame.setLocationRelativeTo(null); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.add(p1,BorderLayout.NORTH); + frame.add(p2,BorderLayout.CENTER); + frame.setVisible(true); + textone.setHorizontalAlignment(JTextField.RIGHT); + + String [][] s={ {"AC","sqrt","^2","/"}, + {"7","8","9","*"}, + {"4","5","6","-"}, + {"1","2","3","+"}, + {".","0","=","%"}}; + for(int i=0;i<5;i++){ + for(int j=0;j<4;j++){ + button[i][j]=new JButton(s[i][j]); + button[i][j].setFont(new Font ("宋体",Font.BOLD,25)); + p2.add(button[i][j]); + } + } + listener jt=new listener(); + button[4][1].addActionListener(jt); + for(int i=1;i<4;i++){ + for(int j=0;j<3;j++){ + button[i][j].addActionListener(jt); + } + } + listener_signal jt_signal=new listener_signal(); + for(int j=0;j<4;j++){ + button[j][3].addActionListener(jt_signal); + } + listener_signal jt_sqrt=new listener_signal(); + button[0][1].addActionListener(jt_sqrt); + listener_signal jt_ping=new listener_signal(); + button[0][2].addActionListener(jt_ping); + listener_signal jt_bai=new listener_signal(); + button[4][3].addActionListener(jt_bai); + + listener_equal jt_equal=new listener_equal(); + button[4][2].addActionListener(jt_equal); + + listener_AC jt_AC=new listener_AC(); + button[0][0].addActionListener(jt_AC); + + listener_point jt_point=new listener_point(); + button[4][0].addActionListener(jt_point); + + + + + } +class listener implements ActionListener{ + + + @Override + public void actionPerformed(ActionEvent e) { + // TODO 自动生成的方法存根 + + } + } + class listener_signal implements ActionListener { + + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + + + } + } + class listener_AC implements ActionListener{ + + @Override + public void actionPerformed(ActionEvent e) { + // TODO 自动生成的方法存根 + + } + } + class listener_equal implements ActionListener{ + + @Override + public void actionPerformed(ActionEvent e) { + // TODO 自动生成的方法存根 + + } + + } + class listener_point implements ActionListener{ + + @Override + public void actionPerformed(ActionEvent e) { + // TODO 自动生成的方法存根 + + } + } + + public static void main(String[] args) { + + Panel panel=new Panel(); + + } + + } \ No newline at end of file -- Gitee From dcdc59a91351286676a7613dfff1e842490e9563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E7=BB=AE=E8=8E=8E?= <1379598943@qq.com> Date: Sun, 5 Jun 2022 00:01:26 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E5=92=8C=E6=B3=A8=E5=86=8C=E7=9B=91=E8=A7=86=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -- Gitee From c70bb59af12c936fad635181bf85cc1ca06d7c35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E7=BB=AE=E8=8E=8E?= <1379598943@qq.com> Date: Sun, 5 Jun 2022 19:34:42 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E5=AE=9A=E4=B9=89AC=20equal=20=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E9=83=A8=E5=88=86=E7=9A=84=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/Panel.java | 276 +++++++++++++++++----------------- 1 file changed, 138 insertions(+), 138 deletions(-) diff --git a/src/java2022spring/Panel.java b/src/java2022spring/Panel.java index 67acfd5..fb0c7f2 100644 --- a/src/java2022spring/Panel.java +++ b/src/java2022spring/Panel.java @@ -1,139 +1,139 @@ -package java2022spring; - -import java.awt.event.*; -import java.math.BigDecimal; -import java.util.Vector; -import javax.swing.*; - -import java.awt.*; - -public class Panel extends JFrame{ - JFrame frame=new JFrame("计算器"); - JPanel p1=new JPanel(); - JPanel p2=new JPanel(); - JButton button[][]=new JButton[5][4]; - - JButton store; - JTextField textone=new JTextField(40); - StringBuffer str; - double x,y; - int n; - static String str1="0"; - static String str2="0"; - static String signal="+"; - static String result="="; - Vector vt=new Vector(20,10); - int k1=1; - int k2=1; - int k3=1; - int k4=1; - int k5=1; - - Panel() { - p1.add(textone); - p2.setLayout(new java.awt.GridLayout(5,4,4,4)); - - frame.pack(); - - frame.setResizable(false); - frame.setSize(400,350); - frame.setLocationRelativeTo(null); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.add(p1,BorderLayout.NORTH); - frame.add(p2,BorderLayout.CENTER); - frame.setVisible(true); - textone.setHorizontalAlignment(JTextField.RIGHT); - - String [][] s={ {"AC","sqrt","^2","/"}, - {"7","8","9","*"}, - {"4","5","6","-"}, - {"1","2","3","+"}, - {".","0","=","%"}}; - for(int i=0;i<5;i++){ - for(int j=0;j<4;j++){ - button[i][j]=new JButton(s[i][j]); - button[i][j].setFont(new Font ("宋体",Font.BOLD,25)); - p2.add(button[i][j]); - } - } - listener jt=new listener(); - button[4][1].addActionListener(jt); - for(int i=1;i<4;i++){ - for(int j=0;j<3;j++){ - button[i][j].addActionListener(jt); - } - } - listener_signal jt_signal=new listener_signal(); - for(int j=0;j<4;j++){ - button[j][3].addActionListener(jt_signal); - } - listener_signal jt_sqrt=new listener_signal(); - button[0][1].addActionListener(jt_sqrt); - listener_signal jt_ping=new listener_signal(); - button[0][2].addActionListener(jt_ping); - listener_signal jt_bai=new listener_signal(); - button[4][3].addActionListener(jt_bai); - - listener_equal jt_equal=new listener_equal(); - button[4][2].addActionListener(jt_equal); - - listener_AC jt_AC=new listener_AC(); - button[0][0].addActionListener(jt_AC); - - listener_point jt_point=new listener_point(); - button[4][0].addActionListener(jt_point); - - - - - } -class listener implements ActionListener{ - - - @Override - public void actionPerformed(ActionEvent e) { - // TODO 自动生成的方法存根 - - } - } - class listener_signal implements ActionListener { - - public void actionPerformed(ActionEvent e) { - // TODO Auto-generated method stub - - - } - } - class listener_AC implements ActionListener{ - - @Override - public void actionPerformed(ActionEvent e) { - // TODO 自动生成的方法存根 - - } - } - class listener_equal implements ActionListener{ - - @Override - public void actionPerformed(ActionEvent e) { - // TODO 自动生成的方法存根 - - } - - } - class listener_point implements ActionListener{ - - @Override - public void actionPerformed(ActionEvent e) { - // TODO 自动生成的方法存根 - - } - } - - public static void main(String[] args) { - - Panel panel=new Panel(); - - } - +package java2022spring; + +import java.awt.event.*; +import java.math.BigDecimal; +import java.util.Vector; +import javax.swing.*; + +import java.awt.*; + +public class Panel extends JFrame{ + JFrame frame=new JFrame("计算器"); + JPanel p1=new JPanel(); + JPanel p2=new JPanel(); + JButton button[][]=new JButton[5][4]; + + JButton store; + JTextField textone=new JTextField(40); + StringBuffer str; + double x,y; + int n; + static String str1="0"; + static String str2="0"; + static String signal="+"; + static String result="="; + Vector vt=new Vector(20,10); + int k1=1; + int k2=1; + int k3=1; + int k4=1; + int k5=1; + + Panel() { + p1.add(textone); + p2.setLayout(new java.awt.GridLayout(5,4,4,4)); + + frame.pack(); + + frame.setResizable(false); + frame.setSize(400,350); + frame.setLocationRelativeTo(null); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.add(p1,BorderLayout.NORTH); + frame.add(p2,BorderLayout.CENTER); + frame.setVisible(true); + textone.setHorizontalAlignment(JTextField.RIGHT); + + String [][] s={ {"AC","sqrt","^2","/"}, + {"7","8","9","*"}, + {"4","5","6","-"}, + {"1","2","3","+"}, + {".","0","=","%"}}; + for(int i=0;i<5;i++){ + for(int j=0;j<4;j++){ + button[i][j]=new JButton(s[i][j]); + button[i][j].setFont(new Font ("宋体",Font.BOLD,25)); + p2.add(button[i][j]); + } + } + listener jt=new listener(); + button[4][1].addActionListener(jt); + for(int i=1;i<4;i++){ + for(int j=0;j<3;j++){ + button[i][j].addActionListener(jt); + } + } + listener_signal jt_signal=new listener_signal(); + for(int j=0;j<4;j++){ + button[j][3].addActionListener(jt_signal); + } + listener_signal jt_sqrt=new listener_signal(); + button[0][1].addActionListener(jt_sqrt); + listener_signal jt_ping=new listener_signal(); + button[0][2].addActionListener(jt_ping); + listener_signal jt_bai=new listener_signal(); + button[4][3].addActionListener(jt_bai); + + listener_equal jt_equal=new listener_equal(); + button[4][2].addActionListener(jt_equal); + + listener_AC jt_AC=new listener_AC(); + button[0][0].addActionListener(jt_AC); + + listener_point jt_point=new listener_point(); + button[4][0].addActionListener(jt_point); + + + + + } +class listener implements ActionListener{ + + + @Override + public void actionPerformed(ActionEvent e) { + // TODO 自动生成的方法存根 + + } + } + class listener_signal implements ActionListener { + + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + + + } + } + class listener_AC implements ActionListener{ + + @Override + public void actionPerformed(ActionEvent e) { + // TODO 自动生成的方法存根 + + } + } + class listener_equal implements ActionListener{ + + @Override + public void actionPerformed(ActionEvent e) { + // TODO 自动生成的方法存根 + + } + + } + class listener_point implements ActionListener{ + + @Override + public void actionPerformed(ActionEvent e) { + // TODO 自动生成的方法存根 + + } + } + + public static void main(String[] args) { + + new Panel(); + + } + } \ No newline at end of file -- Gitee From cd9d67a78ddededd4f5e5656dc39541684c26eb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E7=BB=AE=E8=8E=8E?= <1379598943@qq.com> Date: Sun, 5 Jun 2022 19:36:48 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E5=AE=9A=E4=B9=89equal=20AC=20=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E7=9A=84=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/Panel.java | 105 +++++++++++++++++++++++++++------- 1 file changed, 85 insertions(+), 20 deletions(-) diff --git a/src/java2022spring/Panel.java b/src/java2022spring/Panel.java index fb0c7f2..9b1ae33 100644 --- a/src/java2022spring/Panel.java +++ b/src/java2022spring/Panel.java @@ -2,6 +2,7 @@ package java2022spring; import java.awt.event.*; import java.math.BigDecimal; +import java.util.StringTokenizer; import java.util.Vector; import javax.swing.*; @@ -17,17 +18,8 @@ public class Panel extends JFrame{ JTextField textone=new JTextField(40); StringBuffer str; double x,y; - int n; - static String str1="0"; - static String str2="0"; - static String signal="+"; - static String result="="; - Vector vt=new Vector(20,10); - int k1=1; - int k2=1; - int k3=1; - int k4=1; - int k5=1; + boolean isNum; + String b=""; Panel() { p1.add(textone); @@ -64,18 +56,22 @@ public class Panel extends JFrame{ } } listener_signal jt_signal=new listener_signal(); - for(int j=0;j<4;j++){ - button[j][3].addActionListener(jt_signal); - } + listener_signal jt_sqrt=new listener_signal(); - button[0][1].addActionListener(jt_sqrt); + listener_signal jt_ping=new listener_signal(); - button[0][2].addActionListener(jt_ping); + listener_signal jt_bai=new listener_signal(); - button[4][3].addActionListener(jt_bai); + listener_equal jt_equal=new listener_equal(); button[4][2].addActionListener(jt_equal); + button[4][3].addActionListener(jt_equal); + button[0][2].addActionListener(jt_equal); + button[0][1].addActionListener(jt_equal); + for(int j=0;j<4;j++){ + button[j][3].addActionListener(jt_equal); + } listener_AC jt_AC=new listener_AC(); button[0][0].addActionListener(jt_AC); @@ -93,7 +89,13 @@ class listener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO 自动生成的方法存根 - + String t=e.getActionCommand(); + String s=textone.getText(); + if(isNum==false) + textone.setText(t); + else + textone.setText(t+s); + isNum=true; } } class listener_signal implements ActionListener { @@ -109,7 +111,7 @@ class listener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO 自动生成的方法存根 - + textone.setText("0.0"); } } class listener_equal implements ActionListener{ @@ -117,7 +119,70 @@ class listener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO 自动生成的方法存根 - + double x,y=0; + if(textone.getText().contains("+")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"+");//str1为textone的输入,以+来分割字符串 + + x=Double.parseDouble(str1.nextToken()); //x为输入的第一个数 + if(str1.hasMoreTokens()) { //如果第一个数后面还有输入 + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"=");//str2为textone除符号外的第二个输入 + y=Double.parseDouble(str2.nextToken()); //y为输入的第二个数 + b=" "; + textone.setText(b); + } + textone.setText(textone.getText()+" "+(x+y)); //加法时的运算结果 + } + else if(textone.getText().contains("-")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"-"); + x=Double.parseDouble(str1.nextToken()); + while(str1.hasMoreTokens()) { + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); + y=Double.parseDouble(str2.nextToken()); + } + textone.setText(textone.getText()+" "+(x-y)); + } + else if(textone.getText().contains("*")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"*"); + x=Double.parseDouble(str1.nextToken()); + while(str1.hasMoreTokens()) { + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); + y=Double.parseDouble(str2.nextToken()); + } + textone.setText(textone.getText()+" "+(x*y)); + } + else if(textone.getText().contains("/")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"/"); + x=Double.parseDouble(str1.nextToken()); + while(str1.hasMoreTokens()) { + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); + y=Double.parseDouble(str2.nextToken()); + } + textone.setText(textone.getText()+" "+(x/y)); + } + else if(textone.getText().contains("sqrt")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"sqrt"); + x=Double.parseDouble(str1.nextToken()); + textone.setText(textone.getText()+" "+(Math.sqrt(x))); + } + else if(textone.getText().contains("%")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"%"); + x=Double.parseDouble(str1.nextToken()); + while(str1.hasMoreTokens()) { + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); + y=Double.parseDouble(str2.nextToken()); + } + if(y==0) { + textone.setText(textone.getText()+" "+(0)); + } + else { + textone.setText(textone.getText()+" "+(x%y)); + } + } + else if(textone.getText().contains("^2")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"^2"); + x=Double.parseDouble(str1.nextToken()); + textone.setText(textone.getText()+" "+(x*x)); + } } } -- Gitee From 8f8c1ec70c0fd23116efaee353c624ce0aa65bc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E7=BB=AE=E8=8E=8E?= <1379598943@qq.com> Date: Sun, 5 Jun 2022 19:39:29 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E5=AE=9A=E4=B9=89AC=20equal=20=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E7=9A=84=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/Panel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java2022spring/Panel.java b/src/java2022spring/Panel.java index 9b1ae33..ff17b17 100644 --- a/src/java2022spring/Panel.java +++ b/src/java2022spring/Panel.java @@ -25,7 +25,7 @@ public class Panel extends JFrame{ p1.add(textone); p2.setLayout(new java.awt.GridLayout(5,4,4,4)); - frame.pack(); + frame.setResizable(false); frame.setSize(400,350); -- Gitee From dbe40c4462745a2a9e99f0b4105fd18b5bcde331 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E7=BB=AE=E8=8E=8E?= <1379598943@qq.com> Date: Sun, 5 Jun 2022 22:28:00 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=9A=E4=B9=89?= =?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/Panel.java | 215 +++++++++++++++------------------- 1 file changed, 97 insertions(+), 118 deletions(-) diff --git a/src/java2022spring/Panel.java b/src/java2022spring/Panel.java index ff17b17..cb0d299 100644 --- a/src/java2022spring/Panel.java +++ b/src/java2022spring/Panel.java @@ -3,9 +3,7 @@ package java2022spring; import java.awt.event.*; import java.math.BigDecimal; import java.util.StringTokenizer; -import java.util.Vector; import javax.swing.*; - import java.awt.*; public class Panel extends JFrame{ @@ -13,20 +11,13 @@ public class Panel extends JFrame{ JPanel p1=new JPanel(); JPanel p2=new JPanel(); JButton button[][]=new JButton[5][4]; - - JButton store; JTextField textone=new JTextField(40); - StringBuffer str; - double x,y; boolean isNum; - String b=""; + Panel() { p1.add(textone); p2.setLayout(new java.awt.GridLayout(5,4,4,4)); - - - frame.setResizable(false); frame.setSize(400,350); frame.setLocationRelativeTo(null); @@ -34,8 +25,6 @@ public class Panel extends JFrame{ frame.add(p1,BorderLayout.NORTH); frame.add(p2,BorderLayout.CENTER); frame.setVisible(true); - textone.setHorizontalAlignment(JTextField.RIGHT); - String [][] s={ {"AC","sqrt","^2","/"}, {"7","8","9","*"}, {"4","5","6","-"}, @@ -55,35 +44,12 @@ public class Panel extends JFrame{ button[i][j].addActionListener(jt); } } - listener_signal jt_signal=new listener_signal(); - - listener_signal jt_sqrt=new listener_signal(); - - listener_signal jt_ping=new listener_signal(); - - listener_signal jt_bai=new listener_signal(); - - - listener_equal jt_equal=new listener_equal(); - button[4][2].addActionListener(jt_equal); - button[4][3].addActionListener(jt_equal); - button[0][2].addActionListener(jt_equal); - button[0][1].addActionListener(jt_equal); - for(int j=0;j<4;j++){ - button[j][3].addActionListener(jt_equal); - } - - listener_AC jt_AC=new listener_AC(); + listener_AC jt_AC=new listener_AC(); button[0][0].addActionListener(jt_AC); - - listener_point jt_point=new listener_point(); - button[4][0].addActionListener(jt_point); - - + MyEvent(); - } -class listener implements ActionListener{ + class listener implements ActionListener{ @Override @@ -94,110 +60,123 @@ class listener implements ActionListener{ if(isNum==false) textone.setText(t); else - textone.setText(t+s); + textone.setText(s+t); isNum=true; } } - class listener_signal implements ActionListener { - - public void actionPerformed(ActionEvent e) { - // TODO Auto-generated method stub - - - } - } class listener_AC implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO 自动生成的方法存根 - textone.setText("0.0"); + textone.setText(""); } } - class listener_equal implements ActionListener{ - - @Override - public void actionPerformed(ActionEvent e) { - // TODO 自动生成的方法存根 - double x,y=0; - if(textone.getText().contains("+")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"+");//str1为textone的输入,以+来分割字符串 + public void MyEvent(){ + + Text(button[0][1]); + Text(button[0][2]); + Text(button[4][2]); + Text(button[0][3]); + Text(button[1][3]); + Text(button[2][3]); + Text(button[3][3]); + Text(button[4][3]); + Text(button[4][0]); + + button[4][2].addActionListener (new ActionListener(){ + @Override + public void actionPerformed(ActionEvent e) { + // TODO 自动生成的方法存根 + textone.setText(textone.getText()+button[4][2].getText()); + double x,y=0; + if(textone.getText().contains("+")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"+");//str1为textone的输入,以+来分割字符串 + + x=Double.parseDouble(str1.nextToken()); //x为输入的第一个数 + while(str1.hasMoreTokens()) { //如果第一个数后面还有输入 + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"=");//str2为textone除符号外的第二个输入 + y=Double.parseDouble(str2.nextToken()); //y为输入的第二个数 - x=Double.parseDouble(str1.nextToken()); //x为输入的第一个数 - if(str1.hasMoreTokens()) { //如果第一个数后面还有输入 - StringTokenizer str2=new StringTokenizer(str1.nextToken(),"=");//str2为textone除符号外的第二个输入 - y=Double.parseDouble(str2.nextToken()); //y为输入的第二个数 - b=" "; - textone.setText(b); - } - textone.setText(textone.getText()+" "+(x+y)); //加法时的运算结果 } - else if(textone.getText().contains("-")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"-"); - x=Double.parseDouble(str1.nextToken()); - while(str1.hasMoreTokens()) { - StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); - y=Double.parseDouble(str2.nextToken()); - } - textone.setText(textone.getText()+" "+(x-y)); + textone.setText(textone.getText()+" "+(x+y)); //加法时的运算结果 + } + else if(textone.getText().contains("-")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"-"); + x=Double.parseDouble(str1.nextToken()); + while(str1.hasMoreTokens()) { + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); + y=Double.parseDouble(str2.nextToken()); } - else if(textone.getText().contains("*")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"*"); - x=Double.parseDouble(str1.nextToken()); - while(str1.hasMoreTokens()) { - StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); - y=Double.parseDouble(str2.nextToken()); - } - textone.setText(textone.getText()+" "+(x*y)); + textone.setText(textone.getText()+" "+(x-y)); + } + else if(textone.getText().contains("*")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"*"); + x=Double.parseDouble(str1.nextToken()); + while(str1.hasMoreTokens()) { + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); + y=Double.parseDouble(str2.nextToken()); } - else if(textone.getText().contains("/")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"/"); - x=Double.parseDouble(str1.nextToken()); - while(str1.hasMoreTokens()) { - StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); - y=Double.parseDouble(str2.nextToken()); - } - textone.setText(textone.getText()+" "+(x/y)); + textone.setText(textone.getText()+" "+(x*y)); + } + else if(textone.getText().contains("/")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"/"); + x=Double.parseDouble(str1.nextToken()); + while(str1.hasMoreTokens()) { + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); + y=Double.parseDouble(str2.nextToken()); + if(y==0) + System.out.println("被除数不可为零,请重新输入"); } - else if(textone.getText().contains("sqrt")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"sqrt"); - x=Double.parseDouble(str1.nextToken()); - textone.setText(textone.getText()+" "+(Math.sqrt(x))); + textone.setText(textone.getText()+" "+(x/y)); + } + else if(textone.getText().contains("sqrt")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"sqrt"); + x=Double.parseDouble(str1.nextToken()); + textone.setText(textone.getText()+" "+(Math.sqrt(x))); + } + else if(textone.getText().contains("%")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"%"); + x=Double.parseDouble(str1.nextToken()); + while(str1.hasMoreTokens()) { + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); + y=Double.parseDouble(str2.nextToken()); } - else if(textone.getText().contains("%")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"%"); - x=Double.parseDouble(str1.nextToken()); - while(str1.hasMoreTokens()) { - StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); - y=Double.parseDouble(str2.nextToken()); - } - if(y==0) { - textone.setText(textone.getText()+" "+(0)); - } - else { - textone.setText(textone.getText()+" "+(x%y)); - } + if(y==0) { + textone.setText(textone.getText()+" "+(0)); } - else if(textone.getText().contains("^2")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"^2"); - x=Double.parseDouble(str1.nextToken()); - textone.setText(textone.getText()+" "+(x*x)); + else { + textone.setText(textone.getText()+" "+(x%y)); } } - + else if(textone.getText().contains("^2")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"^2"); + x=Double.parseDouble(str1.nextToken()); + textone.setText(textone.getText()+" "+(x*x)); + } } - class listener_point implements ActionListener{ +}); +} - @Override - public void actionPerformed(ActionEvent e) { - // TODO 自动生成的方法存根 - - } - } + + public void Text(JButton button){ + button.addActionListener(new ActionListener(){ + + @Override + public void actionPerformed(ActionEvent arg) { + // TODO Auto-generated method stub + String str = button.getText(); + + textone.setText(textone.getText()+str); + } + + }); +} + public static void main(String[] args) { - new Panel(); + Panel panel=new Panel(); } -- Gitee From aac4d7a9ed14df0b1696274245d5c65d697e5ade Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E7=BB=AE=E8=8E=8E?= <1379598943@qq.com> Date: Wed, 8 Jun 2022 19:26:37 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=AE=80=E5=8D=95?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=8A=9F=E8=83=BD=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Panel.java | 174 ++++++++++++++++------------------ 1 file changed, 84 insertions(+), 90 deletions(-) diff --git a/src/java2022spring/Panel.java b/src/java2022spring/Panel.java index cb0d299..074a889 100644 --- a/src/java2022spring/Panel.java +++ b/src/java2022spring/Panel.java @@ -2,6 +2,7 @@ package java2022spring; import java.awt.event.*; import java.math.BigDecimal; +import java.util.InputMismatchException; import java.util.StringTokenizer; import javax.swing.*; import java.awt.*; @@ -13,43 +14,42 @@ public class Panel extends JFrame{ JButton button[][]=new JButton[5][4]; JTextField textone=new JTextField(40); boolean isNum; - - Panel() { - p1.add(textone); - p2.setLayout(new java.awt.GridLayout(5,4,4,4)); - frame.setResizable(false); - frame.setSize(400,350); - frame.setLocationRelativeTo(null); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.add(p1,BorderLayout.NORTH); - frame.add(p2,BorderLayout.CENTER); - frame.setVisible(true); + p1.add(textone); + p2.setLayout(new java.awt.GridLayout(5,4,4,4)); + frame.setResizable(false); + frame.setSize(400,350); + frame.setLocationRelativeTo(null); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.add(p1,BorderLayout.NORTH); + frame.add(p2,BorderLayout.CENTER); + frame.setVisible(true); String [][] s={ {"AC","sqrt","^2","/"}, {"7","8","9","*"}, {"4","5","6","-"}, {"1","2","3","+"}, {".","0","=","%"}}; for(int i=0;i<5;i++){ - for(int j=0;j<4;j++){ - button[i][j]=new JButton(s[i][j]); - button[i][j].setFont(new Font ("宋体",Font.BOLD,25)); - p2.add(button[i][j]); + for(int j=0;j<4;j++){ + button[i][j]=new JButton(s[i][j]); + button[i][j].setFont(new Font ("宋体",Font.BOLD,25)); + p2.add(button[i][j]); } } listener jt=new listener(); button[4][1].addActionListener(jt); for(int i=1;i<4;i++){ for(int j=0;j<3;j++){ - button[i][j].addActionListener(jt); + button[i][j].addActionListener(jt); } } + listener_AC jt_AC=new listener_AC(); button[0][0].addActionListener(jt_AC); MyEvent(); } - class listener implements ActionListener{ + class listener implements ActionListener{ @Override @@ -64,6 +64,7 @@ public class Panel extends JFrame{ isNum=true; } } + class listener_AC implements ActionListener{ @Override @@ -84,80 +85,77 @@ public class Panel extends JFrame{ Text(button[4][3]); Text(button[4][0]); - button[4][2].addActionListener (new ActionListener(){ - @Override - public void actionPerformed(ActionEvent e) { - // TODO 自动生成的方法存根 - textone.setText(textone.getText()+button[4][2].getText()); - double x,y=0; - if(textone.getText().contains("+")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"+");//str1为textone的输入,以+来分割字符串 - - x=Double.parseDouble(str1.nextToken()); //x为输入的第一个数 - while(str1.hasMoreTokens()) { //如果第一个数后面还有输入 - StringTokenizer str2=new StringTokenizer(str1.nextToken(),"=");//str2为textone除符号外的第二个输入 - y=Double.parseDouble(str2.nextToken()); //y为输入的第二个数 - + button[4][2].addActionListener (new ActionListener(){ + @Override + public void actionPerformed(ActionEvent e) { + // TODO 自动生成的方法存根 + textone.setText(textone.getText()+button[4][2].getText()); + double x,y=0; + if(textone.getText().contains("+")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"+");//str1为textone的输入,以+来分割字符串 + x=Double.parseDouble(str1.nextToken()); //x为输入的第一个数 + while(str1.hasMoreTokens()) { //如果第一个数后面还有输入 + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"=");//str2为textone除符号外的第二个输入 + y=Double.parseDouble(str2.nextToken()); //y为输入的第二个数 + } + textone.setText(textone.getText()+" "+(x+y)); //加法时的运算结果 } - textone.setText(textone.getText()+" "+(x+y)); //加法时的运算结果 - } - else if(textone.getText().contains("-")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"-"); - x=Double.parseDouble(str1.nextToken()); - while(str1.hasMoreTokens()) { - StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); - y=Double.parseDouble(str2.nextToken()); + else if(textone.getText().contains("-")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"-"); + x=Double.parseDouble(str1.nextToken()); + while(str1.hasMoreTokens()) { + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); + y=Double.parseDouble(str2.nextToken()); + } + textone.setText(textone.getText()+" "+(x-y)); } - textone.setText(textone.getText()+" "+(x-y)); - } - else if(textone.getText().contains("*")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"*"); - x=Double.parseDouble(str1.nextToken()); - while(str1.hasMoreTokens()) { - StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); - y=Double.parseDouble(str2.nextToken()); + else if(textone.getText().contains("*")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"*"); + x=Double.parseDouble(str1.nextToken()); + while(str1.hasMoreTokens()) { + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); + y=Double.parseDouble(str2.nextToken()); + } + textone.setText(textone.getText()+" "+(x*y)); } - textone.setText(textone.getText()+" "+(x*y)); - } - else if(textone.getText().contains("/")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"/"); - x=Double.parseDouble(str1.nextToken()); - while(str1.hasMoreTokens()) { - StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); - y=Double.parseDouble(str2.nextToken()); - if(y==0) - System.out.println("被除数不可为零,请重新输入"); + else if(textone.getText().contains("/")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"/"); + x=Double.parseDouble(str1.nextToken()); + while(str1.hasMoreTokens()) { + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); + y=Double.parseDouble(str2.nextToken()); + } + if(y==0.0) + textone.setText("表达式错误"); + else + textone.setText(textone.getText()+" "+(x/y)); } - textone.setText(textone.getText()+" "+(x/y)); - } - else if(textone.getText().contains("sqrt")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"sqrt"); - x=Double.parseDouble(str1.nextToken()); - textone.setText(textone.getText()+" "+(Math.sqrt(x))); - } - else if(textone.getText().contains("%")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"%"); - x=Double.parseDouble(str1.nextToken()); - while(str1.hasMoreTokens()) { - StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); - y=Double.parseDouble(str2.nextToken()); + else if(textone.getText().contains("sqrt")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"sqrt"); + x=Double.parseDouble(str1.nextToken()); + textone.setText(textone.getText()+" "+(Math.sqrt(x))); } - if(y==0) { - textone.setText(textone.getText()+" "+(0)); + else if(textone.getText().contains("%")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"%"); + x=Double.parseDouble(str1.nextToken()); + while(str1.hasMoreTokens()) { + StringTokenizer str2=new StringTokenizer(str1.nextToken(),"="); + y=Double.parseDouble(str2.nextToken()); + } + if(y==0.0) + textone.setText("表达式错误"); + else + textone.setText(textone.getText()+" "+(x%y)); + } - else { - textone.setText(textone.getText()+" "+(x%y)); + else if(textone.getText().contains("^2")) { + StringTokenizer str1=new StringTokenizer(textone.getText(),"^2"); + x=Double.parseDouble(str1.nextToken()); + textone.setText(textone.getText()+" "+(x*x)); } } - else if(textone.getText().contains("^2")) { - StringTokenizer str1=new StringTokenizer(textone.getText(),"^2"); - x=Double.parseDouble(str1.nextToken()); - textone.setText(textone.getText()+" "+(x*x)); - } + }); } -}); -} - public void Text(JButton button){ button.addActionListener(new ActionListener(){ @@ -169,15 +167,11 @@ public class Panel extends JFrame{ String str = button.getText(); textone.setText(textone.getText()+str); - } - - }); -} + } + }); + } public static void main(String[] args) { - - Panel panel=new Panel(); - + new Panel(); } - } \ No newline at end of file -- Gitee From 71e36ba0c6d165938a7f7663b5eddabc5a633d17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E7=BB=AE=E8=8E=8E?= <1379598943@qq.com> Date: Wed, 8 Jun 2022 19:29:12 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=AE=80=E5=8D=95?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=8A=9F=E8=83=BD=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Panel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java2022spring/Panel.java b/src/java2022spring/Panel.java index 074a889..614770c 100644 --- a/src/java2022spring/Panel.java +++ b/src/java2022spring/Panel.java @@ -29,7 +29,7 @@ public class Panel extends JFrame{ {"4","5","6","-"}, {"1","2","3","+"}, {".","0","=","%"}}; - for(int i=0;i<5;i++){ + for(int i=0;i<5;i++){ for(int j=0;j<4;j++){ button[i][j]=new JButton(s[i][j]); button[i][j].setFont(new Font ("宋体",Font.BOLD,25)); -- Gitee From 1c80a62f5a049c25bb38a92b111907fee0932667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E7=BB=AE=E8=8E=8E?= <1379598943@qq.com> Date: Wed, 8 Jun 2022 19:30:50 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E7=AE=80=E5=8D=95=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Panel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java2022spring/Panel.java b/src/java2022spring/Panel.java index 614770c..2cf61b2 100644 --- a/src/java2022spring/Panel.java +++ b/src/java2022spring/Panel.java @@ -29,7 +29,7 @@ public class Panel extends JFrame{ {"4","5","6","-"}, {"1","2","3","+"}, {".","0","=","%"}}; - for(int i=0;i<5;i++){ + for(int i=0;i<5;i++){ for(int j=0;j<4;j++){ button[i][j]=new JButton(s[i][j]); button[i][j].setFont(new Font ("宋体",Font.BOLD,25)); -- Gitee