Java课程设计Warshall算法.docx
- 文档编号:27382409
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:10
- 大小:174.20KB
Java课程设计Warshall算法.docx
《Java课程设计Warshall算法.docx》由会员分享,可在线阅读,更多相关《Java课程设计Warshall算法.docx(10页珍藏版)》请在冰豆网上搜索。
Java课程设计Warshall算法
《课程名称》
课程设计报告
(20—20学年第学期)
题目Warshall算法
学生姓名逯沣天
专业班级软件1503班
学生学号311509060326
教师姓名
成绩:
评语:
教师签名:
日期:
河南理工大学
JAVA语言课程设计评阅书
题目名称
项目
分值
考核内容
优秀
良好
中等
及格
不及格
分值
选题
25
选题符合专业培养目标,体现综合训练基本要求;有一定的学术性和应用价值
≥22
≥20
≥18
≥15
<15
成果与
能力
30
成果有创新性或独到见解;综合运用所学知识分析与解决问题,动手能力强
≥27
≥24
≥21
≥18
<18
工作量
25
按任务书要求完成规定的工作量,达到选题要求
≥22
≥20
≥18
≥15
<15
规范
程度
20
结构规范,逻辑性强,思路清晰,语言准确,文字流畅,图纸、表格、插图等绘制规范
≥18
≥16
≥14
≥12
<12
评阅成绩(百分制):
评阅教师签名:
年月日
1.任务设计书
离散数学传递闭包中经常遇到关于矩阵的运算,计算量大且容易出错,所以设计此Warshall算法以提高运算效率。
本程序采用JAVA开发技术,具有良好的程序结构,实用性强。
文章将以eclipse作为开发工具,从需求分析到技术实现,详细介绍本程序的设计和实现过程
2.类与对象的设计
2.1类
Warshall类图的设计,如图1
Warshall
Narr
warshall
yunsuan
printresult
图1.Warshall类图
2.2对象
Warshall对象图的设计,如图2
图2.Warshall对象图
2.3对象之间的关系
3.主要方法的实现
图3
主要方法:
for(inti=0;i for(intj=0;j if(arr[j][i]==1){ for(intk=0;k if(! (arr[j][k]==1&&arr[i][k]==1)) arr[j][k]=arr[j][k]+arr[i][k]; }//逻辑与运算实现判断 } } } //本程序采用三重For循环来实现传递闭包的的矩阵运算 for(inti=0;i for(intj=0;j System.out.print(arr[i][j]+""); } //双重for循环输出运算结果 publicstaticvoidmain(String[]args){//主函数 System.out.println("请输入n阶矩阵的阶数: "); Scannersn=newScanner(System.in);//输入原始数据 intN=sn.nextInt(); System.out.println("请输入原始矩阵(每行输入n个数字后输回车): "); int[][]arr=newint[N][N]; for(inti=0;i for(intj=0;j arr[i][j]=sn.nextInt(); } } Warshallws=newWarshall(N,arr); //ws.printresult(); ws.yunsuan(); ws.printresult(); } //主函数控制整个传递闭包的运算过程 4.运行结果及分析 对于N阶矩阵,求其传递闭包的运算均能得到有效的结果输出,如图4所示。 图4 输入数据只能是整数,输入其它数据将报错,如图5所示 图5 5.致谢 感谢智老师这一学期对我的关注和帮助,在JAVA的学习中,智老师给我们上了生动的一节课,让我对JAVA有了更加深刻的认识和理解,对学习JAVA有了更加浓厚的兴趣,智老师是我们的好老师,更是经常关心我们的好朋友。 6.参考文献 [1]左孝凌李为鉴刘永才编著[离散数学]上海科学技术文献,2015年2月出版,119—127页。 [2]郑莉编著[Java语言程序设计]清华大学出版社,2011年6月出版,23—28页67—72页79—80页。 [3]李秀芳,张福增,贾世祥.软件复用与Framework框架技术[J].科学技术与工程,2006年6月出版,80-83页 7.附录 packagefirst; importjava.util.*; publicclassWarshall{ privateintN; privateint[][]arr;//声明一个二维数组 privatestaticScannersn; publicWarshall(intN,int[][]arr){ this.N=N; this.arr=arr; } publicvoidyunsuan(){ for(inti=0;i for(intj=0;j if(arr[j][i]==1){ for(intk=0;k if(! (arr[j][k]==1&&arr[i][k]==1)) arr[j][k]=arr[j][k]+arr[i][k]; } } } } } //三重for循环来实现传递闭包的运算 publicvoidprintresult(){ System.out.println("传递闭包结果为: "); for(inti=0;i for(intj=0;j System.out.print(arr[i][j]+""); } System.out.println(); } } publicstaticvoidmain(String[]args){//主函数 System.out.println("请输入n阶矩阵的阶数: "); Scannersn=newScanner(System.in);//输入原始数据 intN=sn.nextInt(); System.out.println("请输入原始矩阵(每行输入n个数字后输回车): "); int[][]arr=newint[N][N]; for(inti=0;i for(intj=0;j arr[i][j]=sn.nextInt(); } } Warshallws=newWarshall(N,arr); //ws.printresult(); ws.yunsuan(); ws.printresult(); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 Warshall 算法