java实验1实验报告(20135232王玥)

实验一 Java开发环境的熟悉

一、实验内容

1. 使用JDK编译、运行简单的Java程序

2.使用Eclipse 编辑、编译、运行、调试Java程序

二、实验要求

1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程

2.完成实验、撰写实验报告,实验报告模板见QQ群,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。

3.实验报告中统计自己的PSP(Personal Software Process)时间

步骤

耗时

百分比

需求分析

  40min 20%

设计

   40min 20% 

代码实现

   60min 30%

测试

    30min 15%

分析总结

    30min  15%

4. 严禁抄袭。

三、实验步骤

(一)命令行下Java程序开发

1.首先双击桌面上的Xface终端图标。

2.打开终端(类似Windows下的cmd),之后会自动运行shell程序。

3.输入cd Code命令进入Code(注意C要大写)目录。

4.输入mkdir 20135100 命令建立实验目录,注意目录名一定是自己的学号(学号要体现在实验报告截图中),可以使用ls命令或dir命令查看建立的目录情况。

5.输入cd 20135100命令进入实验目录,再输入类似mkdir exp1建立第一个实验目录,然后输入cd exp1进入实验一目录,可以输入pwd命令查看当前工作路径。

6.输入gedit Hello.java(注意把代码保存到exp1目录中)或vim Hello.java 编辑Hello.java。

7.输入javac -d . Hello.java命令编译代码,输入java ljp.Hello命令运行 程序。

(二)Eclipse下Java程序开发、调试

1.在命令行中输入eclipse命令并回车或单击桌面上的Eclipse EE图标打开Eclipse。

2.在Eclipse中单击File->New-> Java Project新建Java项目。

3.输入项目名称HelloJDB(你可以自己起名),并单击Finish按钮完成新建项目。

4.在Eclipse中单击File->New->Class新建Java类。

5.根据Java代码规范输入包名ljp(小写,可以自定义),类名HelloJDB(单词首字母大写),并勾选上自动产生main函数选项,最后单击Finish按钮。

6.输入如下代码:package ljp;

public class HelloJDB

{

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;

}

}

7.单击运行按钮(或使用Ctrl+F11快捷键),就可以在控制台(Console)中看到运行结果。

8.练习调试程序,首先我们通过单击Window->Open Perspective->Debug打开调试视图。

9.调试程序首先要会设置断点单步运行

10.单步执行效率比较慢,如果我们感觉到第6行到第10行的代码没有问题了,想让程序直接运行到第11行,怎么办?首先我们要在第11行设置断点,然后单击Resume图标(快捷键F8)。

11.单步执行效率比较慢还导致另外一个问题,比如一个大循环中间出了问题怎么办?这时可以通过条件断点解决问题。调试循环代码时,会有一个值我们特别关注,这时在Variable标签中查看变量的值,比如我们此时比较关注sum,每次单步执行都可以看到sum的变化情况了,

设置条件断点,我们在第11行左边单击鼠标右键,选择Breakpoint Properties...

(三)练习(通过命令行Eclipse两种方式实现,在Eclipse下练习调试程序)

题目:实现Fibonacci数列功能,并进行测试。

四、练习题代码和截图:

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(fibonacci(6) + ":" + fibonacciNormal(6));

int sum = 0;
for(int i = 1; i <= n; i++){
sum += fibonacci(i);
}
System.out.println(sum);
}

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 = n1 + n2;
n1 = n2;
n2 = sn;
}
return sn;
}
}

java实验1实验报告(20135232王玥)

实验内容1截图:java实验1实验报告(20135232王玥)

实验内容2截图:

java实验1实验报告(20135232王玥)

java实验1实验报告(20135232王玥)

五、遇到的问题与解决方法

遇到问题:

一开始想使用递推的方法来编写代码,实现Fibonacci数列的功能,但是由于程序编写方面思路不清,因此编译失败了,经多次修改无果。

解决方法:

后来想到能否使用递归的方法来编写代码,改为了用递归的方法编写代码,最后多次修改后成功。

六、实验收获

通过这次试验我学会了使用Eclipse来运行java程序的方法以及如何调试程序,但是调试程序的流程大致明白但是不懂具体怎么操作,具体从哪里可以设置断点还是有些不明白。总体上说这次试验还是比较成功的,运用了C语言的Fibonacci的知识点来编写了java程序的代码,比较简单。就是有些遗忘了Fibonacci的定义,后经查阅资料了解了。在编写代码方面还是有些问题,比如程序的设计较为混乱,没有一个比较清晰的思路。今后还需改正。

上一篇:Maven中的一点疑惑的地方


下一篇:【Linux高频命令专题(2)】awk