0
点赞
收藏
分享

微信扫一扫

软件构造第一次实验(一)

你的益达233 2022-05-01 阅读 109

文章目录

目录

文章目录

前言

一、实验环境的建立

二、幻方问题

1.判断是否为幻方

2.生成一个幻方

总结



前言

这次主要是基于Java OO编程和基于JUnit的测试,以及Git的代码配置管理

本次实验推荐使用IDEA


一、实验环境的建立

可在IDEA官网上下载IDEA社区版本,本次实验要求JDK11,可在橡树官网下载

下载好之后可在Project Structure里进行配置,如图所示:

然后开始配置JUnit,如图:

另外可以配置一个test文件用来写测试类,如图:

二、幻方问题

1.判断是否为幻方

 要点就是遵循函数规约:要求每一行和每一列以及对角线的和是否相等

代码如下(示例):

public static boolean isLeagalMagciSquare(String fileName)
{
   //首先要进行文件读取
   //然后将文件的数据读入到一个二维数组中
   //将数组中每一行相加与每一列相加进行判断
   //短路法则,如果不相等,直接返回false
   //相等就可以与对角线进行判断
}

2.生成一个幻方

这个要求就是幻方的结束不能是负数或者是偶数,只能是基数 

代码如下(示例):

public static boolean generateMagicSquare(int n) {
int magic[][] = new int[n][n];
int row = 0, col = n / 2, i, j, square = n * n;
for (i = 1; i <= square; i++) {
magic[row][col] = i;
if (i % n == 0)
row++;
else {
if (row == 0)
row = n ‐ 1;
else
row‐‐;
if (col == (n ‐ 1))
col = 0;
else
col++;
} }
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
System.out.print(magic[i][j] + "\t");
System.out.println();
}
return true;
}

注意:问题还要求我们生成一个幻方后,用第一个方法isLeagalMagicSquare测试是否符合幻方的定义

主函数代码示例:

public static void main(String[] args) throws IOException
    {
        for(char i = '1'; i <= '5'; i++)
        {
            System.out.println(i + " " + String.valueOf(isLeagalMagciSquare("src/P1/txt/" + i + ".txt")));
        }
        Scanner show = new Scanner(System.in);
        int n = show.nextInt();
        while(n <= 0 || n % 2 == 0)
        {
            System.out.println("输入错误!!!");
            n = show.nextInt();
        }
        generateMagicSquare(n);
        System.out.println("6" + " " + String.valueOf(isLeagalMagciSquare("src/P1/txt/" + "6" + ".txt")));
    }

总结

实验的第一部分主要是Java环境的建立和问题1的解答,后续问题将持续更新。

举报

相关推荐

软件构造第一次实验(二)

第一次rhce实验

HCIE第一次实验

第一次笔记实验

西农 Linux 第一次实验

sql第一次

记录第一次

第一次打卡

0 条评论