第二次作业利用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 ...
随机推荐
- iOS在framework中使用CoreData出现崩溃问题及解决方法
公司项目中有一个功能,保存授权令牌数据.最开始只有一条数据,所以就直接保存在了userdefaults中.后来需要两条数据,还是保存在userdefaults中,其中一条为固定的,另一条不固定可以进行 ...
- 数据库之redis
启动redis服务器:sudo redis-server /etc/redis/redis.conf 通过客户端进入,执行命令:redis-cli 测试服务是否可用:ping 查看redis当前状态: ...
- 针对铁定浏览器的css选择符
/***** Selector Hacks ******/ /* IE6 and below */ * html #uno { color: red } /* IE7 */ *:first-child ...
- WebX框架的页面授权
WebX框架的页面授权 什么是页面授权,简单来说就是对于一个Web应用程序里,哪些页面可以被哪些人在什么情况下访问进行限制.举个简单的例子,有些页面只有用户登录以后才能访问,而另外一些页面无论是否用户 ...
- windows7 64位机上安装配置CUDA7.5(或8.0)+cudnn5.0操作步骤
按照官网文档 http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#axzz4TpI4c8v ...
- P3871 [TJOI2010]中位数
傻逼题 维护两个系统堆即可 #include<bits/stdc++.h> #define il inline #define vd void typedef long long ll; ...
- 安装 vagrant homestead步骤
vagrant box add laravel/homestead /Users/user/Downloads/virtualbox.box #virtualbox.box存放的位置 cd ~ g ...
- 复杂值vs原始值&&内存空间
写在前面 最近在读<JavaScript启示录>,这本书不是JavaScript的详尽的参考指南,但是把对象作为了解JavaScript的透镜,受益匪浅. 那么我们先来聊一下JavaScr ...
- JS ,substr、 substring、charAt方法的区别
JS 截取字符串substr 和 substring方法的区别,需要的朋友可以参考下,根据需要自行选择. substr 方法 返回一个从指定位置开始的指定长度的子字符串. stringvar.subs ...
- 没听说过这些,就不要说你懂并发了,two。
引言 为了更加形象的描述并发的基础知识,因此本文LZ采用了园子里一度大火的标题形式——“没听说过XXXX,就不要说你XXXX了”.希望能够给猿友们一个醒目的警醒,借此来普及并发的基础知识,也讨论一下这 ...