Java面向对象开发课程设计

  • 1.课程设计任务:
  • 2.设计项目的功能说明
  • 3.课程设计代码
    • 3.1pack1(平面图形包)
      • 3.1.1抽象类
      • 3.1.2圆类
      • 3.1.3平行四边形类
      • 3.1.4矩形类
    • 3.2pack2 (立体图形包)
      • 3.2.1圆柱体类(作为父类)
      • 3.2.2圆锥体类
    • 3.3集成测试
  • 4.测试结果

1.课程设计任务:

完成一个应用项目的开发,要求实现
(1)计算几何图形矩形、平行四边形和园的面积和周长,
(2)计算圆柱体和圆锥体的体积。
基本要求如下:
①使用面向对象的开发思想,体现封装性、继承性和多态性
②合理使用多类设计,并在不同的包中实现,形成可复用模块;
提示:项目需要1-2组成团队共同完成,组员创建2个包,分别为pack1,pack2,其中pack1包中完成功能(a)中类及方法的建立及测试,pack2包中完成功能(b)中类及方法的建立及测试,最后组长建立一个项目kcsj_name,并创建一个包为compute,完成(a)和(b)中类方法的调用及集成功能测试。(这里的项目名和包名为举例)
③程序正确并满足健壮性
④程序代码命名合理,注释清晰,可读性好;程序名、变量名、方法名符合JAVA命名规范
⑤控制台人机交流流畅,互动性合理,具有一定的通用性

2.设计项目的功能说明

完成一个应用项目的开发,用来计算几何图形矩形、平行四边形和园的面积和周长,计算圆柱体和圆锥体的体积

3.课程设计代码

3.1pack1(平面图形包)

3.1.1抽象类

//平面图形——矩形、平行四边形、圆的面积和周长
package pack1;//定义一个抽象类Shape
public abstract class Shape{static final float PI=3.14F;public abstract float Area();//抽象方法_计算面积public abstract float Perimeter();//抽象方法_计算周长
}

3.1.2圆类

package pack1;
//圆类
public class Clicle extends Shape
{private float radius;public Clicle(float r){radius =r;}//重写父类方法@Overridepublic float Perimeter(){return 2*PI*radius;}@Overridepublic float Area(){return PI*radius*radius;}
}

3.1.3平行四边形类

package pack1;
public class Pingxing extends Shape
{private float base;private float high;private float side_length;public Pingxing(float base,float high,float side_length){this.base=base;this.high=high;this.side_length=side_length;}@Overridepublic float Perimeter(){return (base+side_length)*2;}@Overridepublic float Area(){return base*high;}}

3.1.4矩形类

package pack1;
//矩形类
public class Rantangle extends Shape{private float length;private float width;//构造函数,给长和宽赋值public Rantangle(float length,float width){this.length=length;this.width=width;}//重写父类方法@Overridepublic float Area() {return length*width;}@Overridepublic float Perimeter(){return (length+width)*2;}
}

3.2pack2 (立体图形包)

3.2.1圆柱体类(作为父类)

package pack2;
//圆柱体
public class yuanzhu
{private float high;private float radius;private float PI=3.14F;public yuanzhu(){  }public yuanzhu(float high,float radius){this.high=high;this.radius=radius;}//设置相应的私有成员变量public void setHigh(float high){this.high=high;}public void setradius(float radius){this.radius=radius;}//计算圆柱体的体积public float solid(){return PI*radius*radius*high;}
}

3.2.2圆锥体类

package pack2;
//圆锥体的体积——圆柱体的三分之一,所以继承父类圆柱体
public class yuanzhui extends yuanzhu
{private float One_third=0.33F;public float solid() {return super.solid()*One_third;}
}

3.3集成测试

package project;import java.util.Scanner;
import pack1.Pingxing;
import pack1.Rantangle;
import pack1.Clicle;
import pack1.Shape;
import pack2.yuanzhu;
import pack2.yuanzhui;public class design {public static void main(String[] args) {// TODO Auto-generated method stubint type;Scanner scan=new Scanner(System.in);try {do {System.out.println("请输入需要计算的几何图形:0、退出系统,1、圆形,2、矩形,3、平行四边形,4、圆锥体,5、圆柱体");type=scan.nextInt();if(type==1){Shape cli=new Clicle(2);System.out.println("圆形的面积"+cli.Area()+"圆形的周长"+cli.Perimeter());}if(type==2){System.out.println("请输入矩形的长");float length =scan.nextFloat();System.out.println("请输入矩形的宽");float high =scan.nextFloat();Shape rant=new Rantangle(length,high);System.out.println("长方形的面积"+rant.Area()+"长方形的周长"+rant.Perimeter());}if(type==3){System.out.println("请输入平行四边形的底");float base =scan.nextFloat();System.out.println("请输入平行四边形的宽");float high =scan.nextFloat();System.out.println("请输入平行四边形的边长");float length =scan.nextFloat();Shape pingx=new Pingxing(base,high,length);System.out.println("长方形的面积"+pingx.Area()+"长方形的周长"+pingx.Perimeter());}if(type==4){yuanzhu con=new yuanzhu();con.setHigh(8);con.setradius(3);System.out.println("圆锥体的体积是:"+con.solid());    }if(type==5){yuanzhu cyl=new yuanzhu(5,2);System.out.println("圆柱体的体积是:"+cyl.solid());}}while(type!=0);System.out.println("程序结束,谢谢使用");scan.close();System.exit(0);}catch(Exception e){System.out.println("请输入要求的自然数:整数或小数");System.out.println("程序结束,谢谢使用");}}
}

4.测试结果

Java课程设计——计算平面图形面积周长、立体图形体积相关推荐

  1. java课程设计 计算器_java课程设计-保存计算过程的计算器

    java课程设计-保存计算过程的计算器 编号: <面向对象程序设计(JAVA) > 课程设计(论文)档案 题 目: 保存计算过程的计算器 学 院: 信息学院 专 业: 姓 名: 学 号: ...

  2. Java课程设计题目二:保存计算过程的计算器

    Java课程设计题目二:保存计算过程的计算器 1 设计要求 参考Windows 操作系统提供的计算器设计一个实用的计算器,要求除了具有普通的计算功能外,还具有保存计算过程的功能. ①单击计算器上的数字 ...

  3. 计算器小程序java课程设计,java课程设计----计算器小程序报告.doc

    java课程设计----计算器小程序报告.doc #####学院JAVA语言课程设计报告小程序计算器系统管理班级:#######姓名:#####指导老师:###时间:2012年6月25日至6月29日2 ...

  4. Java课程设计报告--绩效考核信息管理系统

     Java课程设计报告 题目      绩效考核信息管理系统    学生姓名         学    号                   院    系        年级专业计算机科学与技术 班 ...

  5. java基础应用程序超市收银_超市收银程序(JAVA课程设计 2011)

    <超市收银程序(JAVA课程设计 2011)>由会员分享,可在线阅读,更多相关<超市收银程序(JAVA课程设计 2011)(15页珍藏版)>请在人人文库网上搜索. 1.软零件研 ...

  6. 用java做小学数学系统_小学生数学练习题目自动生成系统——java课程设计

    <小学生数学练习题目自动生成系统--java课程设计>由会员分享,可在线阅读,更多相关<小学生数学练习题目自动生成系统--java课程设计(37页珍藏版)>请在金锄头文库上搜索 ...

  7. Java课程设计——挖地雷游戏设计报告

    源文件: 大学生Java课程设计--挖地雷游戏设计报告源文件-其它文档类资源-CSDN文库 目 录 摘 要. 1 一.引言. 2 1.设计任务和基本要求. 2 二.报告正文. 3 1.需求分析. 3 ...

  8. 计算器java程序设计报告总体设计_计算器设计的java课程设计报告.doc

    计算器设计的java课程设计报告.doc 华东交通大学课程设计1华东交通大学课程设计课程:Java程序设计题目:计算器设计年级:2010级专业:信息一班学号:姓名:组员:指导教师:课程设计题目:计算器 ...

  9. java猜数字游戏总结,java课程设计——猜数字游戏

    java课程设计--猜数字游戏 目目 录录 前言. 1 正文. 1 1 1.设计任务与要求.设计任务与要求 1 1.1 1.1 设计任务与要求设计任务与要求 1 1.2 1.2 选题目的与意义选题目的 ...

最新文章

  1. java 中的进制转换
  2. Java synchronized 详解
  3. Python 基础教程:常用函数整理
  4. [蓝桥杯2017初赛]Excel地址
  5. 鸿蒙内核是闭源吗_鸿蒙出世,中华有为!
  6. python装饰器应用论文_python 装饰器应用
  7. 自清洁集合和自清洁事件
  8. nmap 扫描工具 使用方法
  9. linux安装php和nginx,Linux下安装配置Nginx以及安装PHP
  10. sql生成(查询数据的存储过程)代码的存储过程
  11. 不那么SQL的SQL代码(一)if not exists(...) insert
  12. 自编译最新稳定版 128M NAND WNDR4300V1 Openwrt Lean固件
  13. Django的视图函数(二):request对象、视图函数返回值(HTML响应、JsonResponse)、反向解析(视图函数)、HttpResponse子类
  14. CodeForces 319B 栈
  15. 计算机实践学什么作用,大学计算机基础:计算机操作实践
  16. 苹果 WWDC 2019 全记录:iPadOS独立、SwiftUI、Project Catalyst
  17. can总线不加末端电阻_RS485总线专题讲解,从原理入手!
  18. vue 组件封装——可自由拖拽移动的盒子
  19. matlab解高阶非齐次方程并作图,高阶非齐次线性微分方程
  20. servu ip段访问_西部数码使用指南:利用安全组设置拦截IP(IP段)

热门文章

  1. 营销大师马斯克又发话了:芯片短缺不要怕,明年有望可解决
  2. Qt实现中英文切换(国际化)
  3. Python 比较日期字符串与当前日期的日期差
  4. Python练习题答案: 馏分类【难度:2级】--景越Python编程实例训练营,1000道上机题等你来挑战
  5. 2022浙江大学计算机考研超强攻略
  6. vivo是安卓手机吗_拜托你看看vivo手机自带的翻译功能,这么强大的功能浪费了合适吗...
  7. Verilog中可综合及不可综合语句概述
  8. SIFT--特征描述符
  9. 学计算机理论课要记笔记吗,学生应该用笔记本电脑记笔记吗?
  10. 记笔记-文件记笔记方法