第二次作业利用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 ...
随机推荐
- java crm 进销存 springmvc SSM 项目 源码 系统
系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM ...
- Java——String类总结---18.09.27
1.String类 String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.java把String类声明的final类,不能有类.String类对象创 ...
- C++ 信号处理
原文:https://www.w3cschool.cn/cpp/cpp-signal-handling.html C++ 信号处理 信号是由操作系统传给进程的中断,会提早终止一个程序.在 UNIX.L ...
- Visual Studio 2015 正式版镜像下载(含专业版/企业版KEY)
Visual Studio Community 2015简体中文版(社区版,针对个人免费): 在线安装exe:http://download.microsoft.com/download/B/4/8/ ...
- Oracle单节点_Grid_Infrastructure_DB_安装过程图解(三/三)
接上文: Oracle单节点_Grid_Infrastructure_DB_安装过程图解(二/三)
- 【mysql】排序方操作50题练习及其答案
1.创建数据库.相关表,并插入数据create database homework;use homework; create table class_grade(gid int primary key ...
- Kubernetes学习之路(十三)之Pod控制器--DaemonSet
一.什么是DaemonSet? DaemonSet 确保全部(或者一些)Node 上运行一个 Pod 的副本.当有 Node 加入集群时,也会为他们新增一个 Pod .当有 Node 从集群移除时,这 ...
- OpenStack入门篇(九)之nova服务(控制节点)的部署与测试
1.Nova介绍 Nova是openstack最早的两块模块之一,另一个是对象存储swift.在openstack体系中一个叫做计算节点,一个叫做控制节点.这个主要和nova相关,我们把安装为计算节点 ...
- android 动态控制状态栏显示和隐藏
方法一:(经试验无效,但网上广为流传,也许是我使用方法不当,有待进一步验证……) android想要应用运行时全屏有一种方法是在activity的onCreat方法中加入如下代码: getWindow ...
- 【Java源码解析】ThreadLocal
简介 线程本地变量,用于同一线程之间的传递.每一个线程对象都保存在两个ThreadLocalMap,threadLocals和inheritableThreadLocals,后者会继承父线程的本地变量 ...