课程:Java程序设计 班级: 1351
姓名:王玮怡 学号:20135116
成绩: 指导教师:娄嘉鹏 实验日期:2015.04.15
实验密级: 预习程度: 实验时间:13:00~15:00
仪器组次: 必修/选修:选修 实验序号:1
实验名称:Java开发环境的熟悉
实验目的与要求:
在命令行和Eclipse下编辑、编译、运行、调试简单的Java程序
实验仪器:
名称 |
型号 |
数量 |
PC |
|
1 |
虚拟机 |
实验楼 |
1 |
一、实验内容:
1、命令行下Java程序开发
2、Eclipse下Java程序开发、调试
二、实验过程:
(一)命令行下Java程序开发
1.打开终端
2.输入cd Code命令进入Code(注意C要大写)目录
3.输入mkdir 20135100 命令建立实验目录,注意目录名是自己的学号,可以使用ls命令或dir命令查看建立的目录情况
4.输入cd 20135100命令进入实验目录,再输入类似mkdir exp1建立第一个实验目录,然后输入cd exp1进入实验一目录,可以输入pwd命令查看当前工作路径
5.输入gedit Hello.java(注意把代码保存到exp1目录中)
6.输入javac -d . Hello.java命令编译代码,输入java ljp.Hello命令运行 程序。
另外注意:代码中有package时,使用javac编译代码时一定要加-d参数,运行代码时一定要加包名前缀。 注意代码第二行,我们使用到Java类库中的类时,要用import导入相关的类。
(二)Eclipse下Java程序开发、调试
1.在终端窗口中输入eclipse,进入eclipse界面;
2.依次打开“file--new--java project”,在弹出的对话框里的project name中填写HelloJDK,点击“finish”;
3.依次打开“file--new--class”,在弹出的对话框中,packag栏里输入包名:wwy,在Name栏里填写类名HelloJDK,注意下图中的勾选
3.根据题目输入代码:
package wwy;
public class HelloJDK {
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;
}
}
4.单击运行按钮(或使用Ctrl+F11快捷键),就可以在控制台(Console)中看到运行结果。
5.练习调试程序,首先我们通过单击Window->Open Perspective->Debug打开调试视图。
6.调试程序首先要会设置断点和单步运行。
7.单步执行效率比较慢,如果我们感觉到第6行到第10行的代码没有问题了,想让程序直接运行到第11行,怎么办?首先我们要在第11行设置断点,然后单击Resume图标(快捷键F8)。
8.单步执行效率比较慢还导致另外一个问题,比如一个大循环中间出了问题怎么办?这时可以通过条件断点解决问题。调试循环代码时,会有一个值我们特别关注,这时在Variable标签中查看变量的值,比如我们此时比较关注sum,每次单步执行都可以看到sum的变化情况了,
设置条件断点,我们在第11行左边单击鼠标右键,选择Breakpoint Properties...
最终结果如下:
(三)实现Fibonacci数列功能,并进行测试。
代码如下:
package wwy;
import java.util.Scanner;
/*
Fibonacci
*/
public class Fibonacci {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Please input this fibonacci n:");
int n = scanner.nextInt();
System.out.println(fibonacciNormal(6));}
public static int fibonacci(int n){
if(n <= 2){
return 1;
}else{
return fibonacci(n-1) + fibonacci(n-2);
}
}
public static int fibonacciNormal(int n){
if(n <= 2){
return 1;
}
int n1 = 1, n2 = 1, sn = 0;
for(int i = 0; i < n - 2; i ++){
sn = n + n;
n1 = n2;
n2 = sn;
}
return sn;
}
}
三、遇到的问题及解决方法
实验(一)
遇到的问题:当文件编写完后,在终端中输入javac -d . Hello.java 总是显示找不到相应文件。
解决方法:不断尝试重新命名,最终发现应该的命名应该是Hello.java。
四、实验收获
通过这次实验,我大致了解了如何使用eclipse编写以及运行java程序。在实验之前通过老师在课堂上的讲解,我基本明白了断点的用处。但是在具体实际操作中,我对如何设置断点的操作还是不太熟练。总的来说这次实验我的收获还是很多的,明白了eclipse的使用,对以后更好地编写java代码还是有很大帮助。在实验三中,由于我对斐波拉切数列的程序有些陌生,所以编写起来有些吃力。但是在查阅相关资料并和同学的交流后,我还是对其更多了一些了解。