Java实验报告(实验一)
课程: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代码还是有很大帮助。在实验三中,由于我对斐波拉切数列的程序有些陌生,所以编写起来有些吃力。但是在查阅相关资料并和同学的交流后,我还是对其更多了一些了解。
Java实验报告(实验一)的更多相关文章
- JAVA课程实验报告 实验二 Java面向对象程序设计
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ...
- Java课程实验报告 实验一 Java开发环境的熟悉
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉鹏 实 ...
- JAVA课程实验报告 实验三 敏捷开发与XP实践
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ...
- JAVA课程实验报告 实验五 Java网络编程及安全
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ...
- Java课程实验报告 实验四 Java网络编程及安全
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1352 姓名:吕松鸿 学号:20135229 成绩: ...
- 第四周实验报告&实验总结
试验报告2 写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求该类 ...
- 20145213《Java程序设计》实验二Java面向对象程序设计实验报告
20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...
- 20145206《Java程序设计》实验三实验报告
20145206<Java程序设计>实验三实验报告 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运 ...
- 20145206《Java程序设计》实验二Java面向对象程序设计实验报告
20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- 20145308刘昊阳 《Java程序设计》实验五报告
20145308刘昊阳 <Java程序设计>实验五 Java网络编程及安全 实验报告 实验名称 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: ...
随机推荐
- js将时间戳转换成日期格式-陈远波
var timestamp =1539598555000;//时间戳 //时间戳转换成time格式function timestampToTime(timestamp) { var date = ne ...
- 027.1 反射技术 Class
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反 ...
- 026.7 网络编程 URL对象
通过一个程序理解Java的url对象. String str_url = "http://127.0.0.1:8080?name=xxx"; URL url = new URL(s ...
- vue2.0路由切换后页面滚动位置不变BUG
最近项目中遇到这样一个问题,vue切换路由,页面到顶端的滚动距离仍会保持不变. 方法一: 监听路由 // app.vue export default { watch:{ '$route':func ...
- Shallwe学长的模拟赛
NOIP Simulated Test 这个名字一听就很高端. T1:sGCD:http://uoj.ac/problem/48 题意概述:给定一个长度为$n$的序列,求$sgcd(a_1,a_i)$ ...
- header头
<?php header('HTTP/1.1 200 OK'); // ok 正常访问 header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在 heade ...
- IO多路复用select/poll/epoll详解以及在Python中的应用
IO multiplexing(IO多路复用) IO多路复用,有些地方称之为event driven IO(事件驱动IO). 它的好处在于单个进程可以处理多个网络IO请求.select/epoll这两 ...
- TCP和UDP套接字编程 (java实现)
在了解网络编程之前,我们先了解一下什么叫套接字 套接字即指同一台主机内应用层和运输层之间的接口 由于这个套接字是建立在网络上建立网络应用的可编程接口 因此也将套接字称为应用程序和网络之间的应用程序编程 ...
- 虚拟机上不能使用CUDA
虚拟机的显卡是虚拟的,不能使用CUDA(至少很难),搞了一天才晃过神来: lspci 查找目前主机的硬件配备 用 grep -i 进行大小写无关的搜索
- 感言&3