第二次作业利用java语言编写计算器进行四则运算
随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果。一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且家里电脑又坏了。。(不知道老师看了会不会觉得我啰嗦)可是后来有许多同学都交了作业看了几篇之后也大致有了思路,因为对java语言的生疏或许写起来也不是那么顺利(希望老师多多指教。)好了话不多说现在正式开始写程序。
我的计划表(plan)psp
计划用时6小时 (对于java我真的是菜鸟)分析题目要求计划5分钟 实际用时8分钟 计划需求分析20分钟 实际用时25分钟 具体设计思路计划用时30分钟 实际用时40分钟
设计思路利用java语言编写一个小程序 (计算器)处理四则运算 输出答题数量答错数量答对数量if循环的使用 类的使用 事件监听器的添加GUI的使用
需求分析 编写一个程序进行简单计算 加减乘除 判断答题个数 1.95+3.17=5.12(正确)
设计代码
package pa;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Calculator extends JFrame implements ActionListener {
private JFrame jf;
private JButton[] allButtons;
private JButton clearButton;
private JTextField jtf;
public Calculator() {
//对图形组件实例化
jf=new JFrame(“我的计算器 wd ");
jf.addWindowListener(new WindowAdapter(){
public void windowClosing(){
System.exit(0);
}
}
allButtons=new JButton[16];
clearButton=new JButton("清除");
jtf=new JTextField(25);
jtf.setEditable(false);
String str="19.5+3.17=/";
for(int i=0;i<allButtons.length;i++){
allButtons[i]=new JButton(str.substring(i,i+1)); } }
public void init(){
//完成布局
jf.setLayout(new BorderLayout());
JPanel northPanel=new JPanel();
JPanel centerPanel=new JPanel();
JPanel southPanel=new JPanel();
northPanel.setLayout(new FlowLayout());
centerPanel.setLayout(new GridLayout(4,4));
southPanel.setLayout(new FlowLayout()); northPanel.add(j);
for(int i=0;i<16;i++){
centerPanel.add(allButtons[i]);
}
southPanel.add(clearButton); jf.add(northPanel,BorderLayout.NORTH);
jf.add(centerPanel,BorderLayout.CENTER);
jf.add(southPanel,BorderLayout.SOUTH);
addEventHandler();
}
//添加事件监听
public void addEventHandler(){
jtf.addActionListener(this);
for(int i=0;i<allButtons.length;i++){ allButtons[i].addActionListener(this); } clearButton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e)
修改代码
import java.awt.*;
public class CalcTest
{
public static void main(String args[])
{
Frame f=new Frame("我的计算器wd");
Panel P=new Panel();
P.setLayout(new GridLayout(4,4,1,1));
P.setSize(200,200);
TextField t=new TextField();
t.setBackground(Color.white);
t.setEnabled(false);
Button b0=new Button("0");
Button b1=new Button("1");
Button b2=new Button("2");
Button b3=new Button("3");
Button b4=new Button("4");
Button b5=new Button("5");
Button b6=new Button("6");
Button b7=new Button("7");
Button b8=new Button("8");
Button b9=new Button("9");
Button b10=new Button("+");
Button b11=new Button("-");
Button b12=new Button("*");
Button b13=new Button("/");
Button b14=new Button(".");
Button b15=new Button("=");
P.add(b1);
P.add(b2);
P.add(b3);
P.add(b10);
P.add(b4);
P.add(b5);
P.add(b6);
P.add(b11);
P.add(b7);
P.add(b8);
P.add(b9);
P.add(b12);
P.add(b0);
P.add(b14);
P.add(b15);
P.add(b13);
f.add(t,BorderLayout.NORTH);
f.add(P,BorderLayout.CENTER);
f.setResizable(false);
f.setSize(200,220);
f.setVisible(true);
}
}
总结;打代码是一个既费时又费脑子工作但学一行爱一行 为了以后的能很好哒的工作现在的辛苦都不是什么难事。嘻嘻代码很乱希望老师能多多指教 由于电脑的故障没能把截图发过来我很抱歉希望老师理解;下次截图发过来把代码写规范
用时7个小时第一次自己做程序可能做的不太好能力需要慢慢锻炼。
第二次作业利用java语言编写计算器进行四则运算的更多相关文章
- java语言编写矩阵的四则运算
题目要求如下: 设计程序实现矩阵的四则运算 设计要求: (1) 实现矩阵的四则运算. (2) 考虑实现带变元的矩阵计算. (3)考虑实现矩阵的特征值和特征向量的计算. 我使用java语言写的 目录结构 ...
- Java语言编写计算器(简单的计算器)
Java编写的一个简单计算器,本人还比较菜,只能这样了,有点代码冗余,不能连续计算. import javax.swing.*; import java.awt.*; import java.awt. ...
- Atiitt 使用java语言编写sql函数或存储过程
Atiitt 使用java语言编写sql函数或存储过程 1.1. java编写sql函数或存储过程的机制1 1.2. Java编写sp的优点1 1.3. 支持java源码,class文件,blog f ...
- 使用java语言编写窗口按钮
使用java语言编写窗口按钮 代码如下: package Day08; import java.awt.FlowLayout; import javax.swing.JButton;import ja ...
- Fastjson是一个Java语言编写的高性能功能完善的JSON库。
简介 Fastjson是一个Java语言编写的高性能功能完善的JSON库. 高性能 fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson. ...
- 使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网)
使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网) 一,前期准备 1,Java IDE(Eclipse)与JDK的安装与配置jdk-15.0.1-免配置路径版提取码:earu免安装版 ...
- 用Java语言编写一个简易画板
讲了三篇概博客的概念,今天,我们来一点实际的东西.我们来探讨一下如何用Java语言,编写一块简易的画图板. 一.需求分析 无论我们使用什么语言,去编写一个什么样的项目,我们的第一步,总是去分析这个项目 ...
- 第二十三节:Java语言基础-详细讲解函数与数组
函数 函数在Java中称为方法,在其他语言中可能称为函数,函数,方法就是定义在类中具有特定功能的程序.函数,在Java中可称为方法. 函数的格式: 修饰符 返回值类型 函数名(参数类型 参数1, 参数 ...
- 第二十一节:Java语言基础-关键字,标识符,注释,常量和变量,运算符
Java语言基础-关键字,标识符,注解,常量和变量,运算符 class Demo { public static void main(String[] args){ System.out.printl ...
随机推荐
- 将SharePoint站点另存为模板并根据模板创建站点!
1,将SharePoint站点模板另存为模板. 在网站设置—网站操作一栏下面可以将网站另存为模板. 这儿应该注意:有的时候“将网站另存为模板这个”链接看不到,这个时候打开管理网站功能链接,查看一下“S ...
- 设计一个分布式RPC框架
0 前言 提前先祝大家春节快乐!好了,先简单聊聊. 我从事的是大数据开发相关的工作,主要负责的是大数据计算这块的内容.最近Hive集群跑任务总是会出现Thrift连接HS2相关问题,研究了解了下内部原 ...
- SQL语句查询关键字中含有特殊符号怎么处理, 例如 'SMI_'
SQL语句查询关键字中含有特殊符号怎么处理, 例如 'SMI_' 错误:select * from emp where ename like '%SML_%' 正确:select * from em ...
- C++STL之unordered_map与QT的QHash对比
刚刚心血来潮,试一试QT和STL哪个好 网上评论都支持STL,我试了试: 贴上代码: #include <QCoreApplication> #include <QHash> ...
- Kotlin安卓页面本地存储数据(方法和封装)
直接上代码 封装: //存储key对应的数据 fun saveData(context: Activity, key: String, info: String) { val sharedPrefer ...
- CentOS7 安装.netcore 2 部署应用出现An assembly specified in the application dependencies manifest (xxx.deps.json)
# dotnet xxx.dll Error: An assembly specified in the application dependencies manifest (xxx.deps.jso ...
- 【转载】D3D中的Texture应用示例
原文:D3D中的texture应用示例 本文列举了Direct3D中各种纹理应用实现:黑暗贴图,发光贴图,漫反射映射贴图,细节纹理,纹理混合,有较详尽的注解.其中黑暗贴图,发光贴图,细节纹理都是采用多 ...
- 2-[HTML]--介绍
1.HTML简介 HTML,全称是超文本标记语言(HyperText Markup Language),它是一种用于创建网页的标记语言.标记语言是一种将文本(Text)以及文本相关的其他信息结合起来, ...
- 1、rbac权限组件-初识, 中间件校验1
1.权限组件rbac 1.什么是权限 1 项目与应用 2 什么是权限? 一个包含正则表达式url就是一个权限 who what how ---------->True or Flase 2.版本 ...
- 3、计数排序,电影top100
1.计数排序 # -*- coding: utf-8 -*- # @Time : 2018/07/31 0031 11:32 # @Author : Venicid def count_sort(li ...