没有合适的资源?快使用搜索试试~ 我知道了~
首页用java设计一个计算器课程设计报告
用java设计一个计算器课程设计报告
4星 · 超过85%的资源 需积分: 10 14 下载量 110 浏览量
更新于2023-07-12
评论
收藏 89KB DOC 举报
一个简单的计算器程序。用户可以利用鼠标点击数值或操作符按键完成计算的输入,计算的结果将被显示在窗口上部的文本框中。
资源详情
资源评论
资源推荐
课程设计一:一个用 Java 设计的计算器
知识点:
1、 学会使用 Awt 包;
2、 懂得 Java 的数据类型;
3、 窗体的布局;
4、 窗体的字体设置;
设计步骤:
1、 创建一个新的应用程序 AwtCalc.java , 首先创建一个空的窗口。
2、 定义用于显示结果的文本显示类,用来继承 Canvas 构件。
3、 在窗口上添加需要的构件,用来完成窗口的布局。
4、 添加事件处理的部分。
实验效果为:
程序功能:
一个简单的计算器程序。用户可以利用鼠标点击数值或操作符按键完成计算的输入,计算
的结果将被显示在窗口上部的文本框中。
实现程序的部分代码为:
import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics;
public class AwtCalc extends Frame implements ActionListener
{
private Button[] buttons = new Button[19];
private String[] buttonText = { " 1 " , " 2 ", " 3 ", " + ", " - ",
" 4 ", " 5 ", " 6 ", " x ", " / ",
" 7 ", " 8 ", " 9 ", "^ ", "sqrt",
" C ", " 0 ", " . ", " = "
};
private ETextField result; // 结果显示框
private String input = ""; // 用户的输入
private Label label;
private Color forecolor, // 前景色
backcolor, // 背景色
fieldcolor; // 显示框颜色
private Font font,
buttonfont;
private int oper = 0, // 记录运算过程中的运算符
oldoper = 0,
newoper = 0;
private double answer,
num1 = 0.0,
num2 = 0.0,
num3 = 0.0;
private final int ADD=1, // 用于记录运算符的常量
SUB = 2,
MULT = 3,
DIVI = 4,
POW = 5,
SQRT = 6;
private boolean firstpress = true, //是否按下第一个按键
morenums = false, //是否多个数值被输入
equals = false, //等于是否已经被按下
clearscreen = false, //是否清屏
decnumber = false, //是否输入一个浮点数
doubleclick = false; //是否双击
public AwtCalc(){
super("计算器");
//初始化颜色
buttonfont = new Font( "Courier", Font.PLAIN, 12 );
setBackground( Color.lightGray );
result = new ETextField( 125, 18 );
font = new Font( "宋体", Font.ITALIC, 15 );
label = new Label( "结果" );
label.setFont( font );
result.setBackground( Color.white );
setLayout( new FlowLayout() );
//初始化按钮
Panel mainPanel=new Panel();
mainPanel.setLayout(new GridLayout(5,1));
for ( int i = 0; i < 19; i++ ) {
buttons[i] = new Button( buttonText[i] );
buttons[i].setFont( buttonfont );
buttons[i].addActionListener( this );
}
Panel panel1=new Panel();
panel1.add( result );
panel1.add( label );
mainPanel.add(panel1);
Panel panel2=new Panel();
panel2.add(buttons[0]);
panel2.add(buttons[1]);
panel2.add(buttons[2]);
panel2.add(new Label( " " ));
panel2.add(buttons[3]);
panel2.add(buttons[4]);
mainPanel.add(panel2);
Panel panel3=new Panel();
panel3.add(buttons[5]);
panel3.add(buttons[6]);
panel3.add(buttons[7]);
panel3.add(new Label( " " ));
panel3.add(buttons[8]);
panel3.add(buttons[9]);
mainPanel.add(panel3);
Panel panel4=new Panel();
panel4.add(buttons[10]);
panel4.add(buttons[11]);
panel4.add(buttons[12]);
panel4.add(new Label( " " ));
panel4.add(buttons[13]);
panel4.add(buttons[14]);
mainPanel.add(panel4);
剩余10页未读,继续阅读
ssying
- 粉丝: 4
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2