20145129实验报告(一)
实验目的
- 使用JDK编译、运行简单的Java程序;
使用Eclipse 编辑、编译、运行、调试Java程序。
实验内容
(一)命令行下Java程序开发
进入文件并创建学号文件夹,进入学号文件夹并创建exp1文件夹,查看工作路径,我是用的是cmd,所以直接在文件夹中创建java文件并写好代码。
编译并运行程序。成功运行。
- 过程中出现的问题:
bwp指令在cmd中不适用,在cmd中每一步的工作路径都会显示,不过输入cd敲回车可以查看路径
- gedit指令与vim指令同样不适用于cmd,需要自己在文档中自行创建java文件
运行结果单词之间没有空格,编辑代码在输出那行代码中在Hello后面加空格,在!前加空格。
(二)Eclipse下Java程序开发、调试
通过cmd打开eclipse
在Eclipse中新建Java项目并新建Java类,输入题目代码并运行,得到结果。
- 对程序进行调试,并设置断点和单步运行:
设置断点并运行,并将光标移到i上方,此时i没有被赋值
单步运行(快捷键F5或者F6),此时i被赋值,i=5。
运行多行代码,则在设置一个断点,再运行
设置条件断点,查看当i=50时sum的变化
- 过程中出现的问题:
- 在用cmd打开eclipse时失败了,尝试进入到应用程序所在文件夹后,成功打开。
在输入题目代码后运行失败,提示关键字输入错误。不是“printin”而是“println”。
(三)练习(通过命令行和Eclipse两种方式实现,自己的学号后两位与题目总数取余的结果再加上1就是自己要完成的题号,在Eclipse下练习调试程序)
实现求正整数1-N之间所有质数的功能,并进行测试。
- 代码:
/* * 设计思路:给一个N的值计算出从2到N之间的素数 * 定义一个方法即一个数不被小于它根号下所有整数整除,则这个数为素数 * 运用数组和循环语句完成程序 */ package t5; import java.util.*; public class test5 { public static boolean chek(int n) { //判断是否为素数的方法 for(int i=2;i<=Math.sqrt(n);i++) { if(n%i==0) return false; } return true; } public static void main(String[] args) { Scanner sc=new Scanner(System.in); //输入N的数值 int n=sc.nextInt(); int[] array=new int[1000]; int k=0; for(int i=2;i<=n;i++) //调用方法,并将素数存入数组 { if(chek(i)) { array[k]=i; k++; } } for (int i=0;i
运行:
- 测试过程:
- 在编写完毕单机Run发现程序有错误,检查当行代码没有问题,将光标移到左侧灯泡位置显示如下图所示提示。是我的程序输入流没有关闭,在编写过程中忘记了。
体会
在浏览完实验内容后,在实验前一天开始准备,在自己电脑上实践了实验一的步骤一和步骤二,我电脑没有Xface终端于是我用cmd代替,在实践过程中发现二者有不一样的地方(详情参照上述内容)。在做步骤三时计算得我的题号是5,我在编写代码前先整理好思路,认为用数组和循环语句比较方便也比较简单然后思考方法,并将这些记录到程序顶端。这种写备注的方式是从教学视频中学到的,这样看一个程序时会比较直观。提前做完实验后,在实验课上就可以整理截图找老师验收,这样也可以提高效率。在此次实验中我又学到了一些测试程序的新技能,很有收获。
PSP
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 10分钟 | 16.67% |
设计 | 15分钟 | 25.00% |
代码实现 | 25分钟 | 41.67% |
测试 | 5分钟 | 8.33% |
分析总结 | 5分钟 | 8.33% |