20145319 实验一 “Java开发环境的熟悉”
程序设计过程
实验内容
- 编程实现让用户输入整数N,然后输出1~N之间所有的质数
编写代码
- 程序的大致设计思路并不难,想找出1~N之间的所有质数只需使用穷举法,一个一个验证1~N之间的每个数是不是质数,如果是输出该整数
- 具体思路如下:
- 首先思考程序最核心的部分,就是判断该数x是否为质数,只需要用for语句,求x(mod i)的值,i为1~x的平方根之间所有的整数,如果所有x(mod i)的值均不为零,则为质数,反之为合数
- 然后是再使用for语法,对1~N之间所有的整数均进行上述步骤判断,虽然这两部分可以都写在main()方法中,但是因为同时使用两个for语句,在之后程序调试中会带来一定麻烦,所以将第一步构造成函数只在main()中调用
- 构造函数之后,那么我们如何才能知道函数判断该整数x是否为质数的结果呢?所以,我们要定义一个变量flag来方便判断,并且将函数定义为int,通过return的flag值为0,1来判断该整数是否为质数
- 当函数核心功能都构思好之后,我们开始来考虑程序一些其他的细节,例如,程序要求让用户来输入整数N,所以我们需要在代码前加上,import java.util.Scanner; 通过建立Scanner实例来完成数字录入
- 最后就是将想法实现于代码中,并且亲自去运行调试啦
代码:
调试代码
- 首先是自己输入尽量多,覆盖范围尽量广的正整数N,观察运行结果是否和已知事实相符合
- 如果结果运行错误,首先回头检查代码中的设计和语法细节是否出了问题
- 设置断点,逐行运行,理清思路以及每一步的变化并观察其中变化的结果,找出错误部分并改正(因为本次试验较为简单,所以此次试验报告中没有附上断点调试代码截图)
- 运行结果:
- 命令行编译与运行结果:
PSP(Personal Software Process)
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 5min | 8 |
设计 | 10min | 16 |
代码实现 | 20min | 33 |
测试 | 10min | 16 |
分析总结 | 15min | 27 |
时间: 2024-10-02 11:14:55