第二次作业利用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 ...
随机推荐
- php基础知识考察点:自定义函数及内部函数考察点
1.变量的作用域和静态变量 函数的参数以及参数的引用传递 函数的返回值以及引用返回 外部文件的导入 系统内置函数的考察 变量的作用域也称为变量的范围,变量的范围即他定义上下文的背景(也是它生效的范围) ...
- CodeIgniter Doctrine2基本使用(一)(转)
CodeIgniter Doctrine2基本使用(一) 之前写了一篇文章叫作<CodeIgniter 3.0整合Doctrine2>里面介绍了一些简单的Doctrine2的用法,当然我也 ...
- day 87-1 Vue学习七之vue-cookie
通过vue如何操作cookie呢 参考链接:https://www.jianshu.com/p/535b53989b39 第一步:安装vue-cookies npm install vue-coo ...
- ACM1001:Sum Problem
Problem Description In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n. Input ...
- 6.Exceptions-异常(Dart中文文档)
异常是用于标识程序发生未知异常.如果异常没有被捕获,If the exception isn't caught, the isolate that raised the exception is su ...
- JavaWeb基础—过滤器Filter
一.概念 JavaWeb三大组件之一(组件都有一个特性,需要在web.xml中配置) 过滤器:会在一组资源(jsp servlet等)的前面执行,可以让请求得到目标资源,也可以终止请求,不再继续 也就 ...
- Java序列化与反序列化(实践)
Java序列化与反序列化(实践) 基本概念:序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数据. 昨天在一本书上 ...
- mysql 导出表,导出数据 命令
mysql mysqldump 只导出表结构 不导出数据 复制代码代码如下: mysqldump --opt -d 数据库名 -u root -p > xxx.sql 备份数据库 复制代码代 ...
- IntelliJ IDEA 添加jar包
事先下载完成需要的javacsv.jar包. java项目在没有导入该jar包之前,显示如下图所示 点击 File -> Project Structure(快捷键 Ctrl + Al ...
- 【SHOI2016】黑暗前的幻想乡
题面 题解 如果没有建筑公司的限制,那么就是个\(\mathrm{Matrix\;tree}\)板子 其实有了也一样 发现\(n\leq 17\),考虑容斥 每次钦定一些建筑公司,计算它们包含的边的生 ...