今天才是脑壳都扣烂了。
什么没教就各种做、 不过这样有好处的;锻炼思维。
今天还是一个在简单的计算器的基础上实现运算与字符串的链接
补昨天的代码:import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.xml.ws.Dispatch;
public class Calculator {
static String container1="";
static String container2="";
static String op="";
static String container="";
public static void main(String[]args){
JFrame Calculator=new JFrame("计算器");
Calculator.setBounds(800, 350, 350, 420);
Calculator.setLayout(null);
Calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextField display=new JTextField("");
display.setBounds(20, 30, 300, 80);
JButton buttonmc=new JButton("mc");
buttonmc.setBounds(20, 120, 55, 30);
buttonmc.addActionListener(new ActionListener() {
//buttonmc监听器 产生一个新的监听器
@Override
public void actionPerformed(ActionEvent e) {
//监听器入口 ActionEven(按键)方法
String buttonValue= buttonmc.getText();
//获取按钮的值
String newValue=display.getText()+buttonValue;
//获取框中的值
//display.getText() + buttonValue;
display.setText(newValue);
//display.setText(buttonValue+display.getText());
//将获取文本的值(buttonValue)放在 display 窗口中
}
});
JButton buttonmr=new JButton("mr");
buttonmr.setBounds(80, 120, 55, 30);
buttonmr.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String buttonValue=buttonmr.getText();
String newValue= display.getText()+buttonValue;
display.setText(newValue);
}
});
JButton buttonms=new JButton("ms");
buttonms.setBounds(140, 120, 55, 30);
JButton buttonmplus=new JButton("m+");
buttonmplus.setBounds(200, 120, 55, 30);
JButton buttonreduce=new JButton("m-");
buttonreduce.setBounds(260, 120, 55, 30);
JButton buttonback=new JButton("←");
buttonback.setBounds(20, 160, 55, 30);
JButton buttonce=new JButton("ce");
buttonce.setBounds(80, 160, 55, 30);
JButton buttonc=new JButton("c");
buttonc.setBounds(140, 160, 55, 30);
JButton buttonpr=new JButton("±");
buttonpr.setBounds(200, 160, 55, 30);
JButton buttonreagan=new JButton("√");
buttonreagan.setBounds(260, 160, 55, 30);
JButton button7=new JButton("7");
button7.setBounds(20, 200, 55, 30);
button7.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String buttonValue=button7.getText();
container=container+buttonValue;
display.setText(container);
}
});
JButton button8=new JButton("8");
button8.setBounds(80, 200, 55, 30);
button8.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String buttonValue=button8.getText();
display.setText(display.getText()+buttonValue);
}
});
JButton button9=new JButton("9");
button9.setBounds(140, 200, 55, 30);
button9.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String buttonValue=button9.getText();
display.setText(display.getText()+buttonValue);
}
});
JButton buttonsemicolon=new JButton("/");
buttonsemicolon.setBounds(200, 200, 55, 30);
JButton buttonsign=new JButton("%");
buttonsign.setBounds(260, 200, 55, 30);
JButton button4=new JButton("4");
button4.setBounds(20, 240, 55, 30);
button4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String buttonValue=button4.getText();
display.setText(display.getText()+buttonValue);
}
});
JButton button5=new JButton("5");
button5.setBounds(80, 240, 55, 30);
button5.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String buttonValue=button5.getText();
display.setText(display.getText()+buttonValue);
}
});
JButton button6=new JButton("6");
button6.setBounds(140, 240, 55, 30);
button6.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String buttonValue=button6.getText();
display.setText(display.getText()+buttonValue);
}
});
JButton buttonride=new JButton("*");
buttonride.setBounds(200, 240, 55, 30);
JButton buttonone=new JButton("1/x");
buttonone.setBounds(260, 240, 55, 30);
JButton button1=new JButton("1");
button1.setBounds(20, 280, 55, 30);
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String buttonValue=button1.getText();
display.setText(display.getText()+buttonValue);
}
});
JButton button2=new JButton("2");
button2.setBounds(80, 280, 55, 30);
button2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String buttonValue=button2.getText();
display.setText(display.getText()+buttonValue);
}
});
JButton button3=new JButton("3");
button3.setBounds(140, 280, 55, 30);
button3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String buttonValue=button3.getText();
display.setText(display.getText()+buttonValue);
}
});
JButton buttontwo=new JButton("-");
buttontwo.setBounds(200, 280, 55, 30);
JButton buttonthree=new JButton("=");
buttonthree.setBounds(260, 280, 55, 70);
buttonthree.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
container2=container;
container="";
int c1=Integer.parseInt(container1);
int c2=Integer.parseInt(container2);
int c = 0;
if(op == "+"){
c = c1 + c2;
}else if(op == "-"){
c = c1 - c2;
}
String result=c+"";
display.setText(result);
}
});
JButton button0=new JButton("0");
button0.setBounds(20, 320, 110, 30);
button0.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String button0value=button0.getText();
display.setText(display.getText()+button0value);
}
});
JButton buttonspot=new JButton(".");
buttonspot.setBounds(140, 320, 55, 30);
JButton buttonplus=new JButton("+");
buttonplus.setBounds(200, 320, 55, 30);
buttonplus.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
container1=container;
String buttonValue=buttonplus.getText();
op=buttonValue;
container="";
}
});
Calculator.add(button0);
Calculator.add(buttonspot);
Calculator.add(buttonplus);
Calculator.add(button1);
Calculator.add(button2);
Calculator.add(button3);
Calculator.add(buttontwo);
Calculator.add(buttonthree);
Calculator.add(buttonone);
Calculator.add(buttonride);
Calculator.add(button6);
Calculator.add(button5);
Calculator.add(button4);
Calculator.add(buttonsign);
Calculator.add(buttonsemicolon);
Calculator.add(button9);
Calculator.add(button8);
Calculator.add(button7);
Calculator.add(buttonc);
Calculator.add(buttonreagan);
Calculator.add(buttonpr);
Calculator.add(buttonce);
Calculator.add(buttonback);
Calculator.add(buttonreduce);
Calculator.add(buttonmplus);
Calculator.add(buttonms);
Calculator.add(buttonmr);
Calculator.add(buttonmc);
Calculator.add(display);
Calculator.setVisible(true);
}
}
以上代码是我复制过来的。自己做的;虽然没有做完。现在就是实现了字符串的连接。没有实现加法运算。对了,没有讲if所以只是大概的了解了些。并不是全懂。
我想问的是这个会不会跟我的顺寻有关,从而没实现加法运算。晚上或者明天我会试一试把123这些数字放在最上面。然后我想请问大神们如果真的是因为顺序的原因,能有什么解决的方法吗?
做出这个程序要思考我要给他多少个框架。然后如何实现这个框架,让他显示出来。要设置什么样的常量好引用。
actionlistener——监听器
actionEven——按键
Integer.parseInt——字符创的转换
int——整数类型的
String——字符串类型
不同的类型要用不同的类型才能进行运算。
做这个大概用到的知识有:界面、监听、设置、获取、转换、判断、添加、显示。
经过了解不是顺序的问题。是我那个地方出错了。等我三天做完在来看一下是什么问题。
import java.awt.event.ActionEvent;import java.awt.event.ActionListener;
import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextField;import javax.xml.ws.Dispatch;
public class Calculator {static String container1="";static String container2="";static String op="";static String container="";public static void main(String[]args){JFrame Calculator=new JFrame("计算器");Calculator.setBounds(800, 350, 350, 420);Calculator.setLayout(null);Calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JTextField display=new JTextField("");display.setBounds(20, 30, 300, 80);JButton buttonmc=new JButton("mc");buttonmc.setBounds(20, 120, 55, 30);buttonmc.addActionListener(new ActionListener() {//buttonmc监听器 产生一个新的监听器@Overridepublic void actionPerformed(ActionEvent e) {//监听器入口 ActionEven(按键)方法String buttonValue= buttonmc.getText();//获取按钮的值String newValue=display.getText()+buttonValue;//获取框中的值//display.getText() + buttonValue;display.setText(newValue);//display.setText(buttonValue+display.getText());//将获取文本的值(buttonValue)放在 display 窗口中}});JButton buttonmr=new JButton("mr");buttonmr.setBounds(80, 120, 55, 30);buttonmr.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String buttonValue=buttonmr.getText();String newValue= display.getText()+buttonValue;display.setText(newValue);}});JButton buttonms=new JButton("ms");buttonms.setBounds(140, 120, 55, 30);JButton buttonmplus=new JButton("m+");buttonmplus.setBounds(200, 120, 55, 30);JButton buttonreduce=new JButton("m-");buttonreduce.setBounds(260, 120, 55, 30);JButton buttonback=new JButton("←");buttonback.setBounds(20, 160, 55, 30);JButton buttonce=new JButton("ce");buttonce.setBounds(80, 160, 55, 30);JButton buttonc=new JButton("c");buttonc.setBounds(140, 160, 55, 30);JButton buttonpr=new JButton("±");buttonpr.setBounds(200, 160, 55, 30);JButton buttonreagan=new JButton("√");buttonreagan.setBounds(260, 160, 55, 30);JButton button7=new JButton("7");button7.setBounds(20, 200, 55, 30);button7.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String buttonValue=button7.getText();container=container+buttonValue;display.setText(container);}});JButton button8=new JButton("8");button8.setBounds(80, 200, 55, 30);button8.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String buttonValue=button8.getText();display.setText(display.getText()+buttonValue);}});JButton button9=new JButton("9");button9.setBounds(140, 200, 55, 30);button9.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String buttonValue=button9.getText();display.setText(display.getText()+buttonValue);}});JButton buttonsemicolon=new JButton("/");buttonsemicolon.setBounds(200, 200, 55, 30);JButton buttonsign=new JButton("%");buttonsign.setBounds(260, 200, 55, 30);JButton button4=new JButton("4");button4.setBounds(20, 240, 55, 30);button4.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String buttonValue=button4.getText();display.setText(display.getText()+buttonValue);}});JButton button5=new JButton("5");button5.setBounds(80, 240, 55, 30);button5.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String buttonValue=button5.getText();display.setText(display.getText()+buttonValue);}});JButton button6=new JButton("6");button6.setBounds(140, 240, 55, 30);button6.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String buttonValue=button6.getText();display.setText(display.getText()+buttonValue);}});JButton buttonride=new JButton("*");buttonride.setBounds(200, 240, 55, 30);JButton buttonone=new JButton("1/x");buttonone.setBounds(260, 240, 55, 30);JButton button1=new JButton("1");button1.setBounds(20, 280, 55, 30);button1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String buttonValue=button1.getText();display.setText(display.getText()+buttonValue);}});JButton button2=new JButton("2");button2.setBounds(80, 280, 55, 30);button2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String buttonValue=button2.getText();display.setText(display.getText()+buttonValue);}});JButton button3=new JButton("3");button3.setBounds(140, 280, 55, 30);button3.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String buttonValue=button3.getText();display.setText(display.getText()+buttonValue);}});JButton buttontwo=new JButton("-");buttontwo.setBounds(200, 280, 55, 30);JButton buttonthree=new JButton("=");buttonthree.setBounds(260, 280, 55, 70);buttonthree.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {container2=container;container="";int c1=Integer.parseInt(container1);int c2=Integer.parseInt(container2);int c = 0;if(op == "+"){c = c1 + c2;}else if(op == "-"){c = c1 - c2;}String result=c+"";display.setText(result);}});JButton button0=new JButton("0");button0.setBounds(20, 320, 110, 30);button0.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String button0value=button0.getText();display.setText(display.getText()+button0value);}});JButton buttonspot=new JButton(".");buttonspot.setBounds(140, 320, 55, 30);JButton buttonplus=new JButton("+");buttonplus.setBounds(200, 320, 55, 30);buttonplus.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {container1=container;String buttonValue=buttonplus.getText();op=buttonValue;container="";}});
Calculator.add(button0);Calculator.add(buttonspot);Calculator.add(buttonplus);Calculator.add(button1);Calculator.add(button2);Calculator.add(button3);Calculator.add(buttontwo);Calculator.add(buttonthree);Calculator.add(buttonone);Calculator.add(buttonride);Calculator.add(button6);Calculator.add(button5);Calculator.add(button4);Calculator.add(buttonsign);Calculator.add(buttonsemicolon);Calculator.add(button9);Calculator.add(button8);Calculator.add(button7);Calculator.add(buttonc);Calculator.add(buttonreagan);Calculator.add(buttonpr);Calculator.add(buttonce);Calculator.add(buttonback);Calculator.add(buttonreduce);Calculator.add(buttonmplus);Calculator.add(buttonms);Calculator.add(buttonmr);Calculator.add(buttonmc);Calculator.add(display);Calculator.setVisible(true);}
}