20145307第二次JAVA学习实验报告
20145307《Java程序设计》实验报告二:Java面向对象程序设计
实验要求
1.初步掌握单元测试和TDD
2.理解并掌握面向对象三要素:封装、继承、多态
3.初步掌握UML建模
4.熟悉S.O.L.I.D原则
5.了解设计模式
实验内容
一、单元测试
1.三种代码
伪代码:以简洁的自然语言表明设计步骤
百分制转五分制: 如果成绩小于60,转成“不及格” 如果成绩在60与70之间,转成“及格” 如果成绩在70与80之间,转成“中等” 如果成绩在80与90之间,转成“良好” 如果成绩在90与100之间,转成“优秀” 其他,转成“错误”
产品代码:用以实现特定功能的程序或机器语言;
package exp1;
public class EVER{
public static String percentage2fivegrade(int grade){
//如果成绩小于60,转成“不及格”
if (grade < 60)
return "不及格";
//如果成绩在60与70之间,转成“及格”
else if (grade < 70)
return "及格";
//如果成绩在70与80之间,转成“中等”
else if (grade < 80)
return "中等";
//如果成绩在80与90之间,转成“良好”
else if (grade < 90)
return "良好";
//如果成绩在90与100之间,转成“优秀”
else if (grade < 100)
return "优秀";
//其他,转成“错误”
else
return "错误";
}
}
测试代码:用以对产品代码进行测试的代码
二、复数的四则运算
原设计代码如下:
import java.util.Scanner;
class complex {
double a, b;
complex() {
this.a = 0;
this.b = 0;
}
complex(double a) {
this.a = a;
this.b = 0;
}
complex(double a, double b) {
this.a = a;
this.b = b;
}
complex add(complex p1, complex p2) {
complex p = new complex(p1.a + p2.a, p1.b + p2.b);
return p;
}
complex minus(complex p1, complex p2) {
complex p = new complex(p1.a - p2.a, p1.b - p2.b);
return p;
}
void print() {
System.out.println("复数的值为:");
if (this.b != 0)
System.out.println(this.a + "+" + this.b + "i");
else
System.out.println(this.a);
}
}
public class compleXX {
public static void main(String[] args) {
System.out.printf("依次输入两组数字每组表示一个复数:");
Scanner scanner=new Scanner(System.in);
int q,w,e,r,t;
q=scanner.nextInt();
w=scanner.nextInt();
e=scanner.nextInt();
r=scanner.nextInt();
complex c = new complex();
complex c1 = new complex(q, w);
complex c2 = new complex(e, r);
c1.print();
c2.print();
System.out.printf("输入1来选择加法运算输入2来选择减法运算");
t=scanner.nextInt();
switch (t){
case (1):
System.out.println("这两个复数的和为:");
System.out.println((c.add(c1, c2).a + "+" + c.add(c1, c2).b + "i").toString());
case (2):
System.out.println("这两个复数的差为:");
System.out.println((c.minus(c1, c2).a + "+" + c.minus(c1, c2).b + "i").toString());}
}
}
修改plan
public class Complex
{
double real,img;
public Complex()
{
this.real=0;
this.img =0;
}
public Complex(double real,double img)
{
this.real=real;
this.img =img;
}
public double getReal()
{
return this.real;
}
public double getImage()
{
return this.img;
}
public double getReal(Complex c)
{
return c.real;
}
public double getImage(Complex c)
{
return c.img;
}
public void setReal (double real)
{
this.real=real;
}
public void setImage(double img)
{
this.img =img;
}
public Complex addComplex(Complex a,Complex b)
{
Complex temp =new Complex();
temp.real=a.real+b.real;
temp.img =a.img +b.img;
return temp;
}
public Complex decComplex(Complex a,Complex b)
{
Complex temp = new Complex();
temp.real = a.real - b.real;
temp.img = a.img - b.img;
return temp;
}
public Complex mulComplex(Complex a,Complex b)
{
Complex temp = new Complex();
temp.real = a.real*b.real-a.img*b.img;
temp.img = a.real*b.img+a.img*b.real;
return temp;
}
public Complex divComplex(Complex a,Complex b)
{
Complex temp = new Complex();
temp.real=(a.real*b.real+a.img*b.img)/(b.real*b.real+b.img*b.img);
temp.img =(a.img*b.real-a.real*b.img)/(b.real*b.real+b.img*b.img);
return temp;
}
public void printComplex()
{
System.out.println(""+this.real+"+"+this.img+"i");
}
public String toString()
{
String fin=" ";
if(img>0)
{
fin = real+"+"+img+"i";
}
else if(img<0)
{
fin = real+ ""+img+"i";
}
else
{
fin = fin;
}
return fin;
}
for test:
public static void main(String[] args)
{
Complex q = new Complex(6, 3);
q.printComplex();
Complex w = new Complex(2, 7);
w.printComplex();
Complex asd = new Complex();
asd = asd.addComplex(q, w);
asd.printComplex();
asd= asd.decComplex(q, w);
asd.printComplex();
asd = asd.mulComplex(q, w);
asd.printComplex();
asd = asd.divComplex(q, w);
asd.printComplex();
}
需求分析&总结
设计一个可以进行复数的简单四则运算的程序。
首先要定义接口引用API:java.util.Scanner;防止报错更加精准定义double类,之后明晰数学的基础知识附属的相关运算。
之后明晰思路,如何去设计,还是一个宗旨,定义函数,之后在主函数中进行引用之前定义过的函数,如果喜欢,自己也可去定义一个print函数来使用,方便在后期的界面中输出更多的函数,也会方便管理。add,sub,multi函数在前文代码中已经给出,之后只需要引用一下就好。
20145307第二次JAVA学习实验报告的更多相关文章
- 20145307第五次JAVA学习实验报告
20145307<Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 实验名 ...
- 20145307第三次JAVA学习实验报告
20145307 <Java程序设计>第三次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.22 实验 ...
- 20145307第四次JAVA学习实验报告
20145307实验四 Android开发基础 实验内容 基于Android Studio开发简单的 Android应用并部署测试; 了解Android组件.布局管理器的使用: 掌握Android中事 ...
- 本周java 学习进度报告
本周java 学习进度报告 本周对我的感触很深,因为这是我初学java 语言的第一周,我认识到java 和c语言是有很多的不同之处和相同之处.我这几天几乎是在研究java 基础入门知识,而并没有太多的 ...
- 20145312《Java第一次实验报告》
20145312<Java第一次实验报告> Java开发环境的熟悉(Windows+Idea) 一.实验内容 使用Idea编辑.编译.运行.调试Java程序. 使用JDK编译.运行简单的J ...
- java 第一次实验报告
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:黎静 学号:20135338 成绩: 指导教师:娄嘉鹏 ...
- JAVA课程实验报告 实验二 Java面向对象程序设计
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ...
- 201521123110第二周Java学习总结
1.本章学习总结 本周的Java学习相对前一周更进了一步,初步学习了Java简单的输入和输出,String类的对象创建后不能修改,它是不可变的,在Java中浮点型默认是double型与C中的int型不 ...
- 第二周java学习总结
学号 20175206 <Java程序设计>第二周学习总结 教材学习内容总结 第二章是基本数据类型与数组,第三章是运算符.表达式和语句的内容.如果说第一章是让我们了解JAVA,那么第二章和 ...
随机推荐
- angular2+ 自定义pipe管道实例--定义全局管道及使用
首先到项目目录下ng g pipe pipe/myslice 就会在app目录下生成一个pipe文件夹文件夹下有myslice.pipe.ts文件,如果没有也可以自己手动新建 然后需要再app.mod ...
- js原型链和继承
在了解js原型链之前构造函数.原型对象.对象实例这几种概念必须要明白. 1. 创建对象有几种方法 //原型链指向objectvar o1={name:'o1'}; var o11=new Object ...
- 纯CSS序列号
per-Css-ol .ol { cursor:pointer; list-style-type: none; counter-reset: sectioncounter; } .ol li:befo ...
- 170331、58到家MQ如何快速实现流量削峰填谷
问:为什么会有本文? 答:上一篇文章<到底什么时候该使用MQ?>引起了广泛的讨论,有朋友回复说,MQ的还有一个典型应用场景是缓冲流量,削峰填谷,本文将简单介绍下,MQ要实现什么细节,才能缓 ...
- SaltStack之Salt-ssh
上一篇:SaltStack远程执行-返回MySQL 通常salt需要在客户端安装salt-minion使用salt-ssh可以在客户断主机免安装minion 在master主机安装salt-ssh y ...
- Python IDE软件PyCharm通用激活方法
1,打开软件点击help-Register 2,输入地址http://xidea.online激活
- jQuery UI dialog 参数说明
前段时间碰到个问题 jquery UI dialog弹出层 弹出多个层是 比如弹出两个层A和B B层如果显示的数据表格太大,伸到了A层的外面,那伸到A层之外的部分就看不到了,因为B层是在A层上弹出的 ...
- linux中常见命令操作(转)
1.日常操作命令 **查看当前所在的工作目录pwd **查看当前系统的时间 date **查看有谁在线(哪些人登陆到了服务器)who 查看当前在线last 查看最近的登陆历史记录 2.文件系统操作** ...
- java面试基础题------》int Integer Integer.valueOf
在jdk1.5的环境下,有如下4条语句: 1 2 3 4 Integer i01 = 59; int i02 = 59; Integer i03 =Integer.valueOf(59); Integ ...
- Python笔记-进程Process、线程Thread、上锁
1.对于操作系统来说,一个任务就是一个进程(Process).比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程. 2.在一个进程内部,要同时干多件事,就需要同时运行多个“ ...