1.《三角形类》

完成课本第380页(11版本387页),第11.1题目。画图工具参考powerdesigner,visio,rational rose
请将类图和代码打包后当作附件重新发一份到实验报告中。(完整的,可以有多个类和有包名的)
此题重点是代码结构,不要为了评测结果而写对应的输入和输出。

输入要求
边1 边2 边3 颜色 是否填充

输出要求
多组数据:
面积 周长 颜色 是否填充
输入

3 4 5 red true

输出

6.00 12.00 red true

代码

import java.text.DecimalFormat;
import java.util.Scanner;
import java.util.*;
public class Main{public static void main(String [] args){Scanner sc=new Scanner(System.in);while(sc.hasNext()){int a=sc.nextInt();int b=sc.nextInt();int c=sc.nextInt();String color=sc.next();boolean fill=sc.nextBoolean();triangle tr=new triangle(a,b,c,color,fill);tr.show();}}
}
class  triangle{private double a;private double b;private double c;private String color;private boolean fill;public  triangle(){}public  triangle(double a,double b,double c,String color,boolean fill){this.a=a;this.b=b;this.c=c;this.color=color;this.fill=fill;}public double getPerimeter(){return this.a+this.b+this.c;}public  double getArea(){return (Math.sqrt((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a)))/(4*1.0);}public  String getColor(){return this.color;}public  boolean getFill(){return this.fill;}public void show(){DecimalFormat df=new DecimalFormat("0.00");System.out.println(df.format(getArea())+" "+df.format(getPerimeter())+" "+getColor()+" "+getFill());}}

2.《person相关类》

完成课本第380页(11版本387页),第11.2题目。画图工具参考powerdesigner,visio,rational rose
请将类图和代码打包后当作附件重新发一份到实验报告中。(完整的,可以有多个类和有包名的)
测结果而写对应的输入和输出。

输入要求
姓名
地址
电话号码
电子邮箱
姓名
地址
电话号码
子邮箱
大学年级(1,2,3,4)
姓名
地址
电话号码 电子邮箱 办公室 工资 受聘年-月-日
姓名
地址
电话号码
电子邮箱
办公室
工资
受聘年-月-日
办公时间
级别
姓名
地址
电话号码
电子邮箱
办公室
工资
受聘年-月-日
职务称号

输出要求
姓名 地址 电话号码 电子邮箱
姓名 地址 电话号码 电子邮箱 大学年级(Freshman,Sophomore,Junior,Senior)
姓名 地址 电话号码 电子邮箱 办公室 工资 受聘年-月-日
姓名 地址 电话号码 电子邮箱 办公室 工资 受聘年-月-日 办公时间 级别
姓名 地址 电话号码 电子邮箱 办公室 工资 受聘年-月-日 职务称号
输入

WXY1
B606, MuDuo Building
6126704
1024819@qq.com
WXY2
B606, MuDuo Building
6126704
1024819@qq.com
3
WXY3
B606, MuDuo Building
668676
1024819@qq.com
B606
1000.01
2018-8-1
WXY4
B606, MuDuo Building
668676
1024819@qq.com
B606
1000.01
2018-8-1
1,3,5
7
WXY5
B606, MuDuo Building
668676
1024819@qq.com
B606
1000.01
2018-8-1
director

输出

WXY1 B606, MuDuo Building 6126704 1024819@qq.com
WXY2 B606, MuDuo Building 6126704 1024819@qq.com unior
WXY3 B606, MuDuo Building 668676 1024819@qq.com B606 1000.01 2018-8-1
WXY4 B606, MuDuo Building 668676 1024819@qq.com B606 1000.01 2018-8-1 1,3,5 7
WXY5 B606, MuDuo Building 668676 1024819@qq.com B606 1000.01 2018-8-1 director

代码

import java.util.GregorianCalendar;
import java.util.Scanner;class MyDate
{private int year;private int month;private int day;public MyDate(){GregorianCalendar calendar = new GregorianCalendar();year = calendar.get(GregorianCalendar.YEAR);month = calendar.get(GregorianCalendar.MONTH);day = calendar.get(GregorianCalendar.DAY_OF_MONTH);}public MyDate(long elapsedTime){GregorianCalendar gregorian = new  GregorianCalendar();gregorian.setTimeInMillis(elapsedTime);year = (int)gregorian.get(GregorianCalendar.YEAR);month = (int)gregorian.get(GregorianCalendar.MONTH);day = (int)gregorian.get(GregorianCalendar.DAY_OF_MONTH);}public MyDate(String elapsedTime){String[] split = elapsedTime.split("-");year = Integer.valueOf(split[0]);month = Integer.valueOf(split[1]);day = Integer.valueOf(split[2]);}public int getYear(){return year;}public int getMonth(){return month;}public int getDay(){return day;}public String getDate(){return year + "-" + month + "-" + day;}@Overridepublic String toString() {return getDate();}
}public class Person
{private String name;private String address;private long phoneNumber;private String email;public Person(){}public Person(String name, String address, long phoneNumber, String email){this.name = name;this.address = address;this.phoneNumber = phoneNumber;this.email = email;}public void setName(String name){this.name = name;}public String getName(){return name;}public void setAddress(String address){this.address = address;}public String getAddress(){return address;}public void setPhoneNumber(long phoneNumber){this.phoneNumber = phoneNumber;}public long getPhoneNumber(){return phoneNumber;}public void setEmail(String email){this.email = email;}public String getEmail(){return email;}public String toString(){return String.format("%s %s %s %s",name,address,phoneNumber,email);}public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNext()){Person person = new Person(sc.nextLine(),sc.nextLine(),Long.valueOf(sc.nextLine()),sc.nextLine());Student student = new Student(sc.nextLine(),sc.nextLine(),Long.valueOf(sc.nextLine()),sc.nextLine(),Integer.valueOf(sc.nextLine()));Employee employee = new Employee(sc.nextLine(),sc.nextLine(),Long.valueOf(sc.nextLine()),sc.nextLine(),sc.nextLine(),Double.valueOf(sc.nextLine()),sc.nextLine());FacultyFromEmployee faculty = new FacultyFromEmployee(sc.nextLine(),sc.nextLine(),Long.valueOf(sc.nextLine()),sc.nextLine(),sc.nextLine(),Double.valueOf(sc.nextLine()),sc.nextLine(),sc.nextLine(),Integer.valueOf(sc.nextLine()));Staff staff = new Staff(sc.nextLine(),sc.nextLine(),Long.valueOf(sc.nextLine()),sc.nextLine(),sc.nextLine(),Double.valueOf(sc.nextLine()),sc.nextLine(),sc.nextLine());System.out.println(person.toString());System.out.println(student.toString());System.out.println(employee.toString());System.out.println(faculty.toString());System.out.println(staff.toString());}}}
class Student extends Person
{private int state;public Student(){}public Student(int state){this.state = state;}public Student(String name, String address,long phoneNumber, String email,int state){super(name, address, phoneNumber, email);this.state = state;}public String toString(){String stateStr = "";switch (state){case 1:stateStr = "Freshman";break;case 2:stateStr = "Sophomore";break;case 3:stateStr = "Junior";break;case 4:stateStr = "Senior";break;default:break;}return String.format("%s %s",super.toString().trim(),stateStr);}
}class Employee extends Person
{private String office;private double wages;private MyDate hireDate;public Employee(){hireDate = new MyDate();}public Employee(String office, double wages){this.office = office;this.wages = wages;hireDate = new MyDate();}public Employee(String name,String address, long phoneNumber, String email,String office, double wages,long hireDate){super(name, address, phoneNumber, email);this.office = office;this.wages = wages;this.hireDate = new MyDate(hireDate);}public Employee(String name,String address, long phoneNumber, String email,String office, double wages,String hireDate){super(name, address, phoneNumber, email);this.office = office;this.wages = wages;this.hireDate = new MyDate(hireDate);}public void setOffice(String office){this.office = office;}public String getOffice(){return office;}public void setWages(double wages){this.wages = wages;}public double getWages(){return wages;}public String toString(){return String.format("%s %s %s %s",super.toString().trim(),office,wages,hireDate);}
}class FacultyFromEmployee extends Employee
{private String workdate;private int grade;public FacultyFromEmployee(){}public FacultyFromEmployee(String name,String address, long phoneNumber, String email,String office, double wages,String hireDate,String workdate,int grade){super(name,address,phoneNumber,email,office,wages,hireDate);this.workdate = workdate;this.grade = grade;}public void setGrade(int grade){this.grade = grade;}public int getGrade(){return grade;}public String toString(){return String.format("%s %s %s",super.toString().trim(),workdate,grade);}
}
class Staff extends Employee
{private String duty;public Staff(){}public Staff(String duty){this.duty = duty;}public Staff(String name,String address, long phoneNumber, String email,String office, double wages,String hireDate,String duty){super(name,address,phoneNumber,email,office,wages,hireDate);this.duty = duty;}public void setDuty(String duty){this.duty = duty;}public String getDuty(){return duty;}public String toString(){return String.format("%s %s",super.toString().trim(),duty);}}

3.《模拟动物园》

请根据以上场景进行类建模(画类图)和实现相应代代码。
场景如下:
1)假设有一个动物园(Zoo类来实现),动物园名称由用户定义,动物园有好多动物(Animal类);
2)动物园里可以增加动物public void add(Animal animal ) ,和移除动物remove(Animal animal )
3)可以统计动物园中动物园的数量public int count()
4)可以列出动物园里的所有动物。public void listAnimals() ,显示动物的类名和动物名称
5)有多种多样的动物,每只动物都有个名称。动物都会发出叫声 wow()
6)考虑时间关系,假设只有两种动物,分别是老虎(Tiger类)和蛇(Snake类)。老虎和蛇的叫声分别是roaring 和hissing
7)有一个管理员(Manager)来管理动物园。他可以放动物到动物园,也可以从动物园里移除动物。当放入动物的时候,动物会发出自己的声音。叫声的格式:动物名 is 叫声!
8)假设有个Game类,来完成模拟管理园放动物到动物园和从动物园移除动物的工程。参考代码Game中的main方法。

输入要求
多组输入。
格式:
动物园名称 管理员名称 老虎名1 老虎名2 蛇名1 蛇名2(名字之间不允许空格)

输出要求
参考Game中的Main方法。
输入

ZooKeeper Tom
LELE FANFAN XVXV SS

输出

LELE is roaring!
FANFAN is roaring!
XVXV is hissing!
SS is hissing!
There are 4 Animals in Zoo ZooKeeper
Tiger:LELE
Tiger:FANFAN
Snake:XVXV
Snake:SS

代码

import java.util.*;
import java.util.ArrayList;
/***## 3528f7795fbd51e3 ##***/
class Zoo {private String name;private List<Animal> list;public Zoo(String name) {this.name = name;list = new ArrayList<>();}public String getName() {return name;}public void setName(String name) {this.name = name;}public void add(Animal animal){list.add(animal);}public void remove(Animal animal){list.remove(animal);}public int count(){return list.size();}public void listAnimals(){for (Animal animal:list) {System.out.println(animal.getClass().getSimpleName()+":"+animal.getName());}}}
class Animal {private String name;public Animal(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}public void wow(){}}class Tiger extends Animal {public Tiger(String name) {super(name);}@Overridepublic void wow() {System.out.println(super.getName()+" is roaring!");}
}class Snake extends Animal {public Snake(String name) {super(name);}@Overridepublic void wow() {System.out.println(super.getName()+" is hissing!");}
}class Manager {private String name;private Zoo zoo;public Manager(String name) {this.name = name;}public void setManage(Zoo zoo){this.zoo = zoo;}public Zoo getManage(){return zoo;}public void add(Animal animal){zoo.add(animal);animal.wow();}public void remove(Animal animal){zoo.remove(animal);}}public class Game {public static void main(String[] args) {// TODO Auto-generated method stub//用户输入动物园名称 管理员名称 老虎名1 老虎名2 蛇名1 蛇名2(名字之间不允许空格)Scanner input = new Scanner(System.in);while (input.hasNext()) {// 创建一个动物园Zoo zoo = new Zoo(input.next());// 有个管理员Manager manager = new Manager(input.next());// 管理刚才创建的动物园manager.setManage(zoo);// 创建2只老虎Tiger tiger1 = new Tiger(input.next());Tiger tiger2 = new Tiger(input.next());// 创建2条蛇Snake snake1 = new Snake(input.next());Snake snake2 = new Snake(input.next());// 管理员将他们放到动物园.每次放动物到动物园时,动物都会发出叫声//叫声的格式:动物名 is 叫声!//老虎叫声用roaring,蛇叫声hissingmanager.add(tiger1);manager.add(tiger2);manager.add(snake1);manager.add(snake2);// 查看动物园里有多少动物,和列出所有动物System.out.println("There are " + manager.getManage().count() + " Animals in Zoo " + manager.getManage().getName());manager.getManage().listAnimals();// 移除一只老虎后,查看动物情况manager.remove(tiger2);System.out.println("There are " + manager.getManage().count() + " Animals in Zoo " + manager.getManage().getName());manager.getManage().listAnimals();}}}

《Java程序设计》课程代码题(九)相关推荐

  1. 苏大JAVA题库_苏州大学Java程序设计课程试卷含答案(B)

    苏州大学Java程序设计课程试卷(B)卷及参考答案共6页 一.选择题(2分*25= 50分) 1.Java语言的最大优点是:它是一种( C )的程序设计语言. A) 安全性 B) 多线性 C) 跨平台 ...

  2. java创建榨汁机_苏州大学Java程序设计课程试卷含答案(B)

    苏州大学Java程序设计课程试卷含答案(B) 文章<苏州大学Java程序设计课程试卷含答案(B)>是由[作文仓库]的会员[上山豹,下山虎i]为大家整理并分享的,仅供大家参考,欢迎阅读! 苏 ...

  3. 《多功能计算器》 Java程序设计 课程设计

    <多功能计算器> Java程序设计 课程设计 目 录 1. 需求分析 1.1 问题描述 1.2 设计要求 1.3 设计的目标 2. 总体设计 2.1 设计思路 2.2 算法的流程图 3. ...

  4. Java程序设计课程练习题(题目+答案)

    Java程序设计课程练习题(题目+答案) 0401 1.Description 编写一个Java程序,输入一个整数n(1 <= n <= 1000),如果n是奇数, 输出 1+3+5+.. ...

  5. JAVA程序设计课程考试试卷专升本考研期末考试真题参考题目(二)

    一.选择题 1.编译下列源程序会得到哪些文件?( D ) class A1{ } class A2{ } public class B{ public static void main(String ...

  6. Java程序设计课程教学实践

    0 引 言 众所周知,Java既是一种编程语言,又是一个跨系统的运行平台,在软件工业界得到广泛的应用,成为众多程序员的首选编程语言.事实上,在软件工业历届的程序设计语言排名榜中,Java语言始终名列前 ...

  7. JAVA程序设计课程期末设计

    目录 <JAVA程序设计>期末课程设计 project代码文件夹可从Github获取 Java大作业github链接 目录 利用循环与跳转语句显示1-100中所有能被5且能被7整除的数. ...

  8. 江苏大学885程序设计历年代码题题型整理

    江苏大学885程序设计代码题题型整理 1.结构体相关 2.计算一个公式 3.求特殊数字 4.矩阵 1.结构体相关 →2004年第三题 →2005年第四题 →2008年第三题 →2014年第三题 →20 ...

  9. JAVA程序设计课程考试试卷专升本考研期末考试真题参考题目(一)参考答案

    最近很多人私信问我,答案没有,现在我将这个贴在这里: 1.使用Java语言编写的源程序保存时的文件扩展名是( B ). (A).class (B).java (C).cpp (D).txt 2.设in ...

最新文章

  1. 第十七届智能车竞赛英飞凌专题培训 ——英飞凌无刷电机驱动专题
  2. 加快modelsim仿真速度的方法(原创)
  3. 多线程一定比单线程快吗
  4. oracle更新统计信息执行计划,为准确生成执行计划更新统计信息-analyze与dbms_stats...
  5. 我决定开发自己的第一款iPhone应用
  6. Android开发入门经典实例
  7. squid ldap认证(AD)
  8. 时间序列数据的存储和计算 - 开源时序数据库解析
  9. Boost:circular buffer的测试程序
  10. 一个textView中的文字设置成两种颜色
  11. android动画编辑软件,ALM视频动画编辑
  12. AUTOSAR从入门到精通100讲(二十五)-AutoSar架构中的Methodology
  13. Emacs-24.2 中很重要的几个函数--实现自定义语法高亮的关键
  14. python自动化办公演示视频-2020年最新Python自动化办公视频教程(2020/9/3)
  15. 如何实现快捷方式中的查找目标功能
  16. POJ 3237 Tree (树链拆分)
  17. Unsatisfied forward or external declaration 错误分析
  18. Java集合框架基础介绍
  19. Linux面试题,浅析常见Linux命令面试题及答案
  20. 如何根据芯片手册时序图编写驱动程序

热门文章

  1. tick timer 间隔_adjtimex修改tick值用法举例
  2. 丁酉新年假期江门,甘孜旅行手记
  3. javaEE练习(商城练习)
  4. samba使用指定端口windows访问linux
  5. 无法创建新的分区,也找不到现有的分区
  6. C++入门经典-例6.23-字符串数组赋值与string
  7. Cronlog日志分割器
  8. JAVA-操作excel模版进行写入
  9. 中国程序员最容易读错的70个英文单词,非常值得一看!
  10. 教妹学 Java:大有可为的集合