北京电子科技学院(BESTI)
实 验 报 告
课程:Java程序设计 班级: 1352
姓名:闫佳歆 学号:20135202
成绩: 指导教师:娄佳鹏 实验日期:2015.04.13
实验密级: 预习程度: 实验时间:15:00~17:00
仪器组次:2 必修/选修:选修 实验序号:1
实验名称:Java开发环境的熟悉
实验目的与要求:
1.在命令行和Eclipse下编辑、编译、运行、调试简单的Java程序
2.实现Fibonacci数列功能,并进行测试。
实验仪器:
名称 | 型号 | 数量 |
PC |
| 1 |
虚拟机 | 实验楼 | 1 |
一、实验内容:
(一)命令行下Java程序开发
用Xface终端编辑Hello.java,并输入以下代码:packageyjx;
import java.util.Scanner;
public class Hello
{
public static void main(String[] args)
{
System.out.println("Input your first name, please:");
Scanner s = newScanner(System.in);
String name = s.next();
System.out.println("Hello "+ name +" !");
}
}
注意代码的第一行,这会影响到我们使用javac编译代码的方式。
注意代码第二行,我们使用到Java类库中的类时,要用import导入相关的类(你可以暂时理解为C语言中include的功能),导入路径可以查看JDK帮助文档。
输入javac -d . Hello.java命令编译代码,输入java yjx.Hello命令运行程序。
注意:代码中有package时,使用javac编译代码时一定要加-d参数,运行代码时一定要加包名前缀。
(二)Eclipse下Java程序开发、调试
在eclipse中新建java项目,新建类,并输入如下代码:package yjx;
public class HelloYJX {
public static void main(String[] args) {
int i = 5;
int j = 6;
int sum = add(i,j);
System.out.println(sum);
sum = 0;
for(i=0;i<100;i++)
sum+=i;
System.out.println(sum);
}
public static int add(int augend, int addend){
int sum = augend + addend;
return sum;
}
}
运行,调试,设置断点。
二、实验步骤
相关快捷键:
1.建立目录并查看目录
2.查看工作路径
3.运行一个小代码
4.运行结果:
5.打开eclipse
6.建立java工程,建立类
7.输入代码并运行
8.设置断点进行调试
9.设置断点在第四行,这时没有运行第四行。
10.F6一下,进入第五行
11.在第11行设置断点,F8,resume,直接进入下一个断点
12.设置条件断点
13.设置条件后,调试结果
14.Fibonacci数列编程实现
15.调试【这个是在命令行执行过后又回来调试的,所以时间顺序是错的】
16.命令行执行【找地址找了半天
17.输入数列长度,输出斐波那契数列。
三、实验心得:
(一)笔记:
1.在linux下命令行:
mkdir 创建目录,ls或者dir查看建立情况,cd进入目录,pwd查看当前工作路径。
2.编译运行:
gedit可以打开编译器进行编译
3.我们使用到Java类库中的类时,要用import导入相关的类,在jdk帮助文档中查询
4.有包时,命令行的格式:
编译: javac -d . Xxxx.java d后面空格,点,再空格
运行:前面要加上包名:java yyy.Xxx,其中yyy是包名,Xxx是类名。即:
注意:代码中有package时,使用javac编译代码时一定要加-d参数,运行代码时一定要加包名前缀。
5.eclipse下,和windows系统没有什么区别。
需要注意的就是单步调试的方式,怎样设置断点,怎样单步调试,F5是进入函数内部,F6是直接将函数执行完,直接运行到下一个断点是Resume,F8.条件断点是在Variable标签中设置,右键选择Breakpoint Properties...,再设置条件。
注:设置断点的快速方法是在该行的最前面,即行号的地方双击左键,右键设置也可以。
6.我的题目是斐波那契数列,数列前两项是1,1,之后每一项都是前两项的和,实现起来相对比较简单,把它封装成一个功能,用数组来装载,for循环实现计算和输出,需要注意的就是循环条件的设置,这里是用数列的长度来作为条件,而数组长度由输入决定,就需要用到Scanner函数,通过前面的介绍和jdk帮助文档实现。然后设置好必要的提示语句与输出格式,就可以实现该功能,输出指定长度的斐波那契数列。
(二)遇到的问题及解决方法
第一个问题就是代码中有package时的编译,加了-d函数,却没有正确的输入空格,导致编译错误。这个错误很好发现,只需要在-d . 这个点前后都加上空格就可以,如果第一遍输入足够仔细,是不会犯这种错误的。
第二个问题是Fibonacci数列中,要把输入的数字作为数列的长度,但是我建立对象的时候建立错了,建立成了字符型,数据是int型。这个我想到了第一次课堂练习求最大公因子的那个程序,老师有讲到过Scanner方法的使用,查看后发现int len = s.nextInt();这句代码里我最初写的是int len = s.next();,就导致了类型的错误。
第三个问题是Fibonacci数列用命令行编译的时候,找不到存储地址。这个在比对题目要求、回忆建立工程的过程和尝试中也解决了。
总而言之,这次遇到的问题都不是很难的问题,大多是由于自己的粗心引起的,细心纠错就能够改正过来。下次争取不要再犯这种低级的错误了。
附:
我的时间
步骤 | 耗时 | 百分比 |
需求分析 | 5min | 8.3% |
设计 | 5min | 8.3% |
代码实现 | 15min | 25% |
测试 | 15min | 25% |
分析总结 | 20min | 33.3% |