随着第一次作业的完成,助教 牛老师又布置了第二次作业:用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[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[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. java 多语言 印度英语_印度5大最佳Java Web托管公司

    java 多语言 印度英语 If you are looking for best java web hosting providers in India then you are landed at ...

  2. python语言程序设计2019版第二章课后答案-python语言程序设计基础(嵩天)第二章课后习题...

    **第二学期第一周学习总结 一. 本周学习内容总结 一维数组,了解了一维数组的定义(定义一个数组,需要明确数组变量名,数组元素的类型和数组大小,即数组中元素的数量) 一维数组定义的一般形式为:类型名, ...

  3. java护照号码校验_学无止境之小白学java……第001天

    学习主题:预科阶段 对应视频: http://www.itbaizhan.cn/course/id/18.html 对应作业: 1. 为什么需要学编程,什么样的人可以做程序员? 编程是现实逻辑的表达, ...

  4. ios开发语言本地国际化_开发人员软件本地化最终语言指南

    ios开发语言本地国际化 There are lots of great guides out there for how to prep your product for international ...

  5. c 语言 double 除法_这是我的C语言入门笔记

    点击上方"C语言中文社区",选择"设为星标★" 技术干货第一时间送达! 来自:大鱼机器人 精彩回顾: [万字长文]C语言高效编程与代码优化,建议收藏![推荐] ...

  6. java新手练习项目_有哪些好的java项目适合新手练习?

    要想学好java技术,找到高薪工作,不仅要掌握扎实的理论知识,也要有一定的实操能力. 遇到问题多查多问,可以上网站进行搜索,可以加一些交流群,还可以多问学校的老师--另外要学会欣赏他人的代码,向成功者 ...

  7. 我的世界java无法安装包_手把手教你搭建java环境

    前文 由于一些历史原因,开发java程序需要技术人员自行搭建环境,而搭建环境对于新手来说并不友好,不像其他语言那般方便,现如今,为帮助想入门java却无法顺利搭建的同学,编写该教程,如果觉得本文有用, ...

  8. java青蛙过河打字_趣味算法——青蛙过河(JAVA)

    青蛙过河是一个非常有趣的智力游戏,其大意如下: 一条河之间有若干个石块间隔,有两队青蛙在过河,每队有3只青蛙,这些青蛙只能向前移动,不能向后移动,且一次只能有一只青蛙向前移动.在移动过程中,青蛙可以向 ...

  9. java面试题成都_成都汇智动力-java面试——多线程面试题

    原标题:成都汇智动力-java面试--多线程面试题 1.多线程有什么用?发挥多核CPU的优势 防止阻塞 便于建模 2.创建线程的方式继承Thread类 实现Runnable接口 至于哪个好,不用说肯定 ...

最新文章

  1. JSP中的重定向和请求转发以及它们的区别
  2. linux内核数据结构之链表
  3. RF内置库函数学习(一)
  4. c++输入输出流加速器
  5. java 伴随矩阵_C#计算矩阵的逆矩阵方法实例分析
  6. 【angularJS】简介
  7. Android官方技术文档翻译——Gradle 插件用户指南(5)
  8. Python if语句Demo
  9. 苹果 Mac 电脑将采用自研芯片、App Store 上线“小程序”,WWDC20 为开发者带来了什么 ?
  10. jdk Comparator接口
  11. (转)软件商在做券商的事,券商在做搬运工的事,第三方正变成第三者
  12. 词组能够进入_四六级翻译100个常考词组~
  13. vscode设置中文及注释快捷键
  14. 时间固定效应和个体固定效应的选择_【十分钟计量经济学】面板数据选择固定效应还是随机效应...
  15. Ubuntu安装中文输入法
  16. STM32 ETR使用
  17. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛
  18. 使用python-docx实现对word文档里的字符串、图片批量替换
  19. android MDE工程师,Android Application Addon(插件) 架构及管理
  20. docker创建的activemq配置nio不能映射端口61618

热门文章

  1. Robot Framework Selenium UI自动化测试 --- 进阶篇
  2. HTML如何返回上一页
  3. MATLAB学习系列--绘制函数曲线
  4. 杀戮空间2游戏开服架设好后怎么查找自己服务器
  5. 人脸识别技术原来还有这个用途?赶紧get
  6. 对1bit的脉冲信号进行展宽,转为32bit位宽,并产生有效信号
  7. 分享几款UI设计师快速提升工作效率的辅助设计软件
  8. LodeRunner2的Wacky Wall 11关
  9. win7连接sftp_WinSCP官方版下载_WinSCP(SFTP客户端) v5.17.1中文版 - Win7旗舰版
  10. android通过adb设置以太网共享