软件构造lab1部分问题要点总结

本文总结了软件构造实验的三个主要部分:3.1介绍了幻方的实现,包括isLegalMagicSquare()和generateMagicSquare()函数的详细设计与实现;3.2讲解了Turtle Graphics的多个问题,从正方形绘制到多边形计算角度,再到凸包问题;3.3阐述了社交网络图的实现,包括FriendshipGraph和Person类的设计,以及BFS算法的应用。文章强调了代码的健壮性和处理特殊情况的能力。
摘要由CSDN通过智能技术生成

3.1 Magic Squares
n阶幻方的指n×n数字,通常都是不同的整数,n在所有行,所有列,对角线的和相同在main()函数中调用五次isLegalMagicSquare()函数,将5个文本文件名分别作为参数输入进去,看其是否得到正确的输出(true, false)。需要能够处理输入文件的各种特殊情况,例如:文件中的数据不符合Magic Square的定义(行列数不相等、并非矩阵等)、矩阵中的某些数字并非正整数、数字之间并非使用\t分割等。若遇到这些情况,终止程序执行(isLegalMagicSquare函数返回false),并在控制台输出错误提示信息。
将generateMagicSquare产生的magic square写入文件\src\P1\txt\6.txt中;当输入的n不合法时(n为偶数、n为负数等),不要该函数抛出异常并非法退出,而是提示错误并“优雅的”退出——函数输出false结束。利用前面已经写好的isLegalMagicSquare()函数,在main()函数判断该函数新生成的文本文件6.txt是否符合magic square的定义。
3.1.1 isLegalMagicSquare()
按步骤给出你的设计和实现思路/过程/结果。
读入文件(创建FileReader BufferReader 初始化line)

将字符串转化为整数进行储存(非空的读入行进行划分,加入数组,看一下数字是否出现过)

算一算各个行列,以及对角线的和是否相等(求出各个值,进行对比)

判断出是否为幻方
3.1.2 generateMagicSquare()
函数目的是生成一个边长为奇数的幻方
具体做法:

    <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值