Java基础编程练习.docx
- 文档编号:30665673
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:23
- 大小:18.80KB
Java基础编程练习.docx
《Java基础编程练习.docx》由会员分享,可在线阅读,更多相关《Java基础编程练习.docx(23页珍藏版)》请在冰豆网上搜索。
Java基础编程练习
1.编写计算器的界面
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassCalculatorextendsJFrame{
privateContainercontainer;
privateGridBagLayoutlayout;
privateGridBagConstraintsconstraints;
privateJTextFielddisplayField;//计算结果显示区
privateStringlastCommand;//保存+,-,*,/,=命令
privatedoubleresult;//保存计算结果
privatebooleanstart;//判断是否为数字的开始
publicCalculator(){
super("Calculator");
container=getContentPane();
layout=newGridBagLayout();
container.setLayout(layout);
constraints=newGridBagConstraints();
start=true;
result=0;
lastCommand="=";
displayField=newJTextField(20);
displayField.setHorizontalAlignment(JTextField.RIGHT);
constraints.gridx=0;
constraints.gridy=0;
constraints.gridwidth=4;
constraints.gridheight=1;
constraints.fill=GridBagConstraints.BOTH;
constraints.weightx=100;
constraints.weighty=100;
layout.setConstraints(displayField,constraints);
container.add(displayField);
ActionListenerinsert=newInsertAction();
ActionListenercommand=newCommandAction();
addButton("Backspace",0,1,2,1,insert);
addButton("CE",2,1,1,1,insert);
addButton("C",3,1,1,1,insert);
addButton("7",0,2,1,1,insert);
addButton("8",1,2,1,1,insert);
addButton("9",2,2,1,1,insert);
addButton("/",3,2,1,1,command);
addButton("4",0,3,1,1,insert);
addButton("5",1,3,1,1,insert);
addButton("6",2,3,1,1,insert);
addButton("*",3,3,1,1,command);
addButton("1",0,4,1,1,insert);
addButton("2",1,4,1,1,insert);
addButton("3",2,4,1,1,insert);
addButton("-",3,4,1,1,command);
addButton("0",0,5,1,1,insert);
addButton("+/-",1,5,1,1,insert);//只显示"-"号,"+"没有实用价值
addButton(".",2,5,1,1,insert);
addButton("+",3,5,1,1,command);
addButton("=",0,6,4,1,command);
setSize(300,300);
setVisible(true);
}
privatevoidaddButton(Stringlabel,introw,intcolumn,intwith,intheight,ActionListenerlistener){
JButtonbutton=newJButton(label);
constraints.gridx=row;
constraints.gridy=column;
constraints.gridwidth=with;
constraints.gridheight=height;
constraints.fill=GridBagConstraints.BOTH;
button.addActionListener(listener);
layout.setConstraints(button,constraints);
container.add(button);
}
privateclassInsertActionimplementsActionListener{
publicvoidactionPerformed(ActionEventevent){
Stringinput=event.getActionCommand();
if(start){
displayField.setText("");
start=false;
if(input.equals("+/-"))
displayField.setText(displayField.getText()+"-");
}
if(!
input.equals("+/-")){
if(input.equals("Backspace")){
Stringstr=displayField.getText();
if(str.length()>0)
displayField.setText(str.substring(0,str.length()-1));
}elseif(input.equals("CE")||input.equals("C")){
displayField.setText("0");
}else
displayField.setText(displayField.getText()+input);
}
}
}
privateclassCommandActionimplementsActionListener{
publicvoidactionPerformed(ActionEventevt){
Stringcommand=evt.getActionCommand();
if(start){
lastCommand=command;
}else{
calculate(Double.parseDouble(displayField.getText()));
lastCommand=command;
start=true;
}
}
}
publicvoidcalculate(doublex){
if(lastCommand.equals("+"))result+=x;
elseif(lastCommand.equals("-"))result-=x;
elseif(lastCommand.equals("*"))result*=x;
elseif(lastCommand.equals("/"))result/=x;
elseif(lastCommand.equals("="))result=x;
displayField.setText(""+result);
}
publicstaticvoidmain(String[]args){
Calculatorcalculator=newCalculator();
calculator.setDefaultCloseOperation(CLOSE);
}
}
2.用java实现简单的计算器
packageui;
importjava.awt.Color;
importjava.awt.Font;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JScrollPane;
importjavax.swing.JTextArea;
importjavax.swing.border.TitledBorder;
publicclassCalculatorFrameextendsJFrame{
privatestaticfinalserialVersionUID=1L;
publicStringopt;
publicStringstr;
privateJTextAreashow;
privateClientContextclientContext;//引用控制器对象
publicvoidsetClientContext(ClientContextclientContext){
this.clientContext=clientContext;
}
publicCalculatorFrame(){
init();
}
privatevoidinit(){
setTitle("ASimpleCalculator");
setBounds(533,184,300,400);
setContentPane(creatContentPane());
}
privateJPanelcreatContentPane(){
JPanelp=newJPanel(newGridLayout(4,1));
/*在面板里面添加4个面板*/
p.add(showPane());//显示屏
p.add(btnPane1());//下面三个都是按钮
p.add(btnPane2());
p.add(btnPane3());
returnp;
}
/*实现各个面板*/
privateJScrollPaneshowPane(){
JScrollPanep=newJScrollPane();
p.setBorder(newTitledBorder("Display:
"));
show=newJTextArea();
show.setFont(newFont("",Font.PLAIN,25));
show.setForeground(Color.RED);
show.setLineWrap(true);
show.setEditable(false);
p.getViewport().add(show);
returnp;
}
/*实现各个面板*/
privateJScrollPaneshowPane(){
JScrollPanep=newJScrollPane();
p.setBorder(newTitledBorder("Display:
"));
show=newJTextArea();
show.setFont(newFont("",Font.PLAIN,25));
show.setForeground(Color.RED);
show.setLineWrap(true);
show.setEditable(false);
p.getViewport().add(show);
returnp;
}
two.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEventarg0){
Stringnumber=show.getText()+String.valueOf
(2);
;
clientContext.setNumber(number);
}
});
three.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
Stringnumber=show.getText()+String.valueOf(3);
clientContext.setNumber(number);
}
});
add.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEventarg0){
opt="+";
clientContext.setOpt(opt);
}
});
jian.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
opt="-";
clientContext.setOpt(opt);
}
});
cheng.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
opt="*";
clientContext.setOpt(opt);
}
});
chu.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
opt="/";
clientContext.setOpt(opt);
}
});
anser.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEventarg0){
str="=";
clientContext.setAnswer(str);
}
});
returnp;
}
privateJPanelbtnPane2(){
JPanelp=newJPanel(newGridLayout(2,4));
JButtonfour=newJButton("4");
JButtonfive=newJButton("5");
JButtonsix=newJButton("6");
JButtonpi=newJButton("PI");
JButtonseven=newJButton("7");
JButtoneight=newJButton("8");
JButtonnine=newJButton("9");
JButtoncom=newJButton(".");
p.add(four);
p.add(five);
p.add(six);
p.add(pi);
p.add(seven);
p.add(eight);
p.add(nine);
p.add(com);
four.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
Stringnumber=show.getText()+String.valueOf(4);
clientContext.setNumber(number);
}
});
five.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
Stringnumber=show.getText()+String.valueOf(5);
clientContext.setNumber(number);
}
});
six.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
Stringnumber=show.getText()+String.valueOf(6);
clientContext.setNumber(number);
}
});
seven.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
Stringnumber=show.getText()+String.valueOf(7);
clientContext.setNumber(number);
}
});
eight.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
Stringnumber=show.getText()+String.valueOf(8);
clientContext.setNumber(number);
}
});
nine.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
Stringnumber=show.getText()+String.valueOf(9);
clientContext.setNumber(number);
}
});
com.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
}
});
pi.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
setShow(String.valueOf(Math.PI));
}
});
returnp;
}
privateJPanelbtnPane3(){
JPanelp=newJPanel(newGridLayout(2,4));
JButtonzero=newJButton("0");
JButtonsqrt=newJButton("√");
JButtonguiling=newJButton("C");
finalJButtonhelp=newJButton("Help");
p.add(zero);
p.add(sqrt);
p.add(help);
help.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
JOptionPane
.showMessageDialog(help,"注意:
假如第二运算数为空的话,这里将默认为0.0!
");
}
});
guiling.addActionListener(newActionListener(){
@Override
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 基础 编程 练习