JAVA课程设计简单计算器.docx

上传人:b****6 文档编号:12709358 上传时间:2023-06-07 格式:DOCX 页数:14 大小:236.05KB
下载 相关 举报
JAVA课程设计简单计算器.docx_第1页
第1页 / 共14页
JAVA课程设计简单计算器.docx_第2页
第2页 / 共14页
JAVA课程设计简单计算器.docx_第3页
第3页 / 共14页
JAVA课程设计简单计算器.docx_第4页
第4页 / 共14页
JAVA课程设计简单计算器.docx_第5页
第5页 / 共14页
JAVA课程设计简单计算器.docx_第6页
第6页 / 共14页
JAVA课程设计简单计算器.docx_第7页
第7页 / 共14页
JAVA课程设计简单计算器.docx_第8页
第8页 / 共14页
JAVA课程设计简单计算器.docx_第9页
第9页 / 共14页
JAVA课程设计简单计算器.docx_第10页
第10页 / 共14页
JAVA课程设计简单计算器.docx_第11页
第11页 / 共14页
JAVA课程设计简单计算器.docx_第12页
第12页 / 共14页
JAVA课程设计简单计算器.docx_第13页
第13页 / 共14页
JAVA课程设计简单计算器.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JAVA课程设计简单计算器.docx

《JAVA课程设计简单计算器.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计简单计算器.docx(14页珍藏版)》请在冰点文库上搜索。

JAVA课程设计简单计算器.docx

JAVA课程设计简单计算器

 

JAVA课程设计

简单计算器设计

 

系别

专业

班级学号

姓名

 

✧课程设计题目……………………………………P3

 

✧课程设计简介……………………………………P3

 

✧课程设计源代码……………………………………P3

 

✧课程设计运行举例……………………………………P9

 

✧课程设计心得体会……………………………………P11

 

课程设计题目:

简单计算器设计

课程设计程序简介:

能够进行最基本的加、减、乘、除运算,是运用三个面板的叠加做出的界面。

通过按钮来进行简易计算器的各种运算,并正确实现运算功能。

如果输入错误会,程序会自动提示你的输入错误。

整个程序对话框可实现最小化,最大化,关闭。

课程设计源代码:

importjavax.swing.*;

importjava.io.*;

importjava.awt.*;

importjava.awt.event.*;

publicclasscounterextendsJFrameimplementsActionListener

{

JPaneltxtpanel,btnpanel,southpanel;//定义三个面板

JTextFieldtxtinput;//定义文本框

JButtonb1,b2,b3,b4,b5,b6,b7,b8,b9,b0,bdes,multiply,divide,add,subtract,clearbtn,equalbtn;//aboutbtn;

GridLayoutgl;//创建布局

doublesimpan,hasil;

Stringoperasi;

publiccounter()

{

super("CalculatorCabe");//设置窗体标题

txtpanel=newJPanel();//创建面板

btnpanel=newJPanel();

southpanel=newJPanel();

txtinput=newJTextField(25);//创建文本框

txtinput.setEditable(false);//设置文本框不可编辑

txtinput.setHorizontalAlignment(JTextField.RIGHT);

txtinput.setText("");//设置起始文本框内容为空

b1=newJButton("1");//创建按钮

b2=newJButton("2");

b3=newJButton("3");

b4=newJButton("4");

b5=newJButton("5");

b6=newJButton("6");

b7=newJButton("7");

b8=newJButton("8");

b9=newJButton("9");

b0=newJButton("0");

bdes=newJButton(".");

multiply=newJButton("x");

multiply.setFont(newFont("Gothic",Font.BOLD,20));//设置画笔属性

multiply.setBackground(Color.black);//设置按钮边框颜色

multiply.setForeground(Color.blue);//设置画笔颜色

divide=newJButton("/");

divide.setFont(newFont("Gothic",Font.BOLD,20));

divide.setBackground(Color.black);

divide.setForeground(Color.blue);

add=newJButton("+");

add.setFont(newFont("Gothic",Font.BOLD,20));

add.setBackground(Color.black);

add.setForeground(Color.blue);

subtract=newJButton("-");

subtract.setFont(newFont("Gothic",Font.BOLD,20));

subtract.setBackground(Color.black);

subtract.setForeground(Color.blue);

 

clearbtn=newJButton("C");

clearbtn.setFont(newFont("Arial",Font.ITALIC,16));

clearbtn.setBackground(Color.black);

clearbtn.setForeground(Color.green);

clearbtn.addActionListener(newActionListener()//实现清空操作

{

publicvoidactionPerformed(ActionEventargh)

{

btnCancelActionPerformed();

}

});

equalbtn=newJButton("=");

equalbtn.setFont(newFont("Arial",Font.ITALIC,20));

equalbtn.setBackground(Color.black);

equalbtn.setForeground(Color.red);

b1.addActionListener(this);//添加监视器

b2.addActionListener(this);

b3.addActionListener(this);

b4.addActionListener(this);

b5.addActionListener(this);

b6.addActionListener(this);

b7.addActionListener(this);

b8.addActionListener(this);

b9.addActionListener(this);

b0.addActionListener(this);

bdes.addActionListener(this);

multiply.addActionListener(this);

divide.addActionListener(this);

add.addActionListener(this);

subtract.addActionListener(this);

equalbtn.addActionListener(this);

getContentPane().add(txtpanel,BorderLayout.NORTH);//设置面板位置

txtpanel.add(txtinput);//添加文本框到txtpanel面板中

gl=newGridLayout(4,4,5,5);//设置面板布局

btnpanel.setLayout(gl);

getContentPane().add(btnpanel);//窗体中加入第二个面板

//把下列按钮加入到btnpanel面板中

btnpanel.add(b7);

btnpanel.add(b8);

btnpanel.add(b9);

btnpanel.add(multiply);

btnpanel.add(b4);

btnpanel.add(b5);

btnpanel.add(b6);

btnpanel.add(divide);

btnpanel.add(b1);

btnpanel.add(b2);

btnpanel.add(b3);

btnpanel.add(add);

btnpanel.add(b0);

btnpanel.add(bdes);

btnpanel.add(equalbtn);

btnpanel.add(subtract);

getContentPane().add(southpanel,BorderLayout.SOUTH);//设置面板位置

southpanel.add(clearbtn);//把clearbtn加入到southpanel面板中

setSize(250,300);//设置窗体初始大小

setVisible(true);//设置窗体可见

setLocation(300,200);//设置初始窗体在屏幕上的位置

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置程序的关闭方式(关闭窗体时,程序自动结束)

}

publicvoidbtnCancelActionPerformed()//清空文本框内容

{

txtinput.setText("");

}

publicvoidactionPerformed(ActionEvente)

{

try

{

Objectobjkcal=e.getSource();//取得按键

if(objkcal==b1)//如果按下b1,则把文本框中的内容置为1

txtinput.setText(txtinput.getText()+"1");

else

if(objkcal==b2)

txtinput.setText(txtinput.getText()+"2");

else

if(objkcal==b3)

txtinput.setText(txtinput.getText()+"3");

else

if(objkcal==b4)

txtinput.setText(txtinput.getText()+"4");

else

if(objkcal==b5)

txtinput.setText(txtinput.getText()+"5");

else

if(objkcal==b6)

txtinput.setText(txtinput.getText()+"6");

else

if(objkcal==b7)

txtinput.setText(txtinput.getText()+"7");

else

if(objkcal==b8)

txtinput.setText(txtinput.getText()+"8");

else

if(objkcal==b9)

txtinput.setText(txtinput.getText()+"9");

else

if(objkcal==b0)

txtinput.setText(txtinput.getText()+"0");

else

if(objkcal==bdes)

txtinput.setText(txtinput.getText()+".");

else//如果按下的是“+”号键,就是保存原来文本框内容并且清空

if(objkcal==add)

{

simpan=Double.parseDouble(txtinput.getText());

operasi="plus";

txtinput.setText("");

}

else

if(objkcal==subtract)

{

simpan=Double.parseDouble(txtinput.getText());

operasi="minus";

txtinput.setText("");

}

else

if(objkcal==divide)

{

simpan=Double.parseDouble(txtinput.getText());

operasi="bagi";

txtinput.setText("");

}

else

if(objkcal==multiply)

{

simpan=Double.parseDouble(txtinput.getText());

operasi="kali";

txtinput.setText("");

}

else//如果按下“=”号,执行以下操作

if(objkcal==equalbtn)

{

if(operasi=="plus")

{

hasil=simpan+Double.parseDouble(txtinput.getText());

txtinput.setText(Double.toString(hasil));

}

else

if(operasi=="minus")

{

hasil=simpan-Double.parseDouble(txtinput.getText());

txtinput.setText(Double.toString(hasil));

}

else

if(txtinput.equals(txtinput.getText())&&objkcal==subtract)

{

hasil=simpan-Double.parseDouble(txtinput.getText());

txtinput.setText(Double.toString(hasil));

}

else

if(operasi=="bagi")

{

if(Double.parseDouble(txtinput.getText())==0)

JOptionPane.showMessageDialog(this,"被除数不能为0");

hasil=simpan/Double.parseDouble(txtinput.getText());

txtinput.setText(Double.toString(hasil));

}

else

if(operasi=="kali")

{

hasil=simpan*Double.parseDouble(txtinput.getText());

txtinput.setText(Double.toString(hasil));

}

}

}

catch(Exceptionouch)

{

JOptionPane.showMessageDialog(null,"错误输入","error",JOptionPane.ERROR_MESSAGE);

}//异常处理

}

publicstaticvoidmain(Stringargs[])

{

try

{

UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

}

catch(Exceptione)

{}//异常处理

newcounter();//创建窗体

}

}

课程设计运行举例:

运行结果截图:

◆乘法截图例如90*80=7200

◆除法截图

1.当被除数为零的时候程序会自动提示,被除数不能为零。

例如:

6/0

⏹加法截图例如5+4=9如下:

减法截图:

100-90=10.0如下:

 

课程设计心得体会:

在此次的课程设计实践中,我学到了教科书上没有的东西。

这次课程设计,我按照课程设计的要求,分块实现程序的功能。

在实践中我遇到许多的问题,通过网上的BBS的交流,和同学的帮助,最后都克服,最终我成功的完成了这次课程设计。

从中我充分理解了Java面对对象的特性,并体会到Java与C语言的不同之处

在实践的同时,我又从中成长了许多,特别是在对程序的编译和调试中掌握了许多的技巧和方法,为今后的其他计算机语言的学习奠定了一定的基础。

总结:

(1)通过编写这个相对复杂的程序,让我认识解决实际问题前应现建立模型,再通过建立的模型使问题简单化,从而解决问题。

(2)这次编写的程序大部分是通过调用各包中的方法来实现的,这也让我充分理解了包和类调用的关系。

(3)由于这次编写的程序相对比较复杂,所以不能一次性编写、调试,也由此让我学会把程序分块,逐个编写、调试。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2