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.掌握密码技术的使用: ...
随机推荐
- 团队作业——Beta冲刺3
团队作业--Beta冲刺 冲刺任务安排 杨光海天 今日任务:浏览详情界面的开发 明日任务:浏览详情界面的开发 吴松青 今日任务:与队长一同进行图片详情的开发,接触了一些自己没接触过的知识点并向队友学习 ...
- 【Ansible 文档】【译文】Ad-Hoc 命令介绍
Introduction To Ad-Hoc Commands Ad-Hoc命令介绍 下面的例子展示了如何使用 /usr/bin/ansible 来运行ad hoc任务. 什么是ad hoc命令? 一 ...
- cookie的详解
cookie是如何出生的 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的.Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用.比如判断用户是否是第一次访问网站.目 ...
- php 基于redis计数器类
本文引自网络 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 本文将使用其incr(自增),get(获取), ...
- 【FRM123】Wrong Way Risk
https://www.investopedia.com/articles/investing/102015/introduction-wrong-way-risk.asp https://www.r ...
- JavaScript中的箭头函数
1.定义 箭头函数相当于匿名函数,并且简化了函数定义.箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }和return都省略掉了.还有一种可以包含多条语句,这时候就不能省略{ ... ...
- JavaScript基础注意点
1.每个语句结尾一定加上分号 2.JavaScript本身对嵌套{ }的层级没有限制,但是过多的嵌套无疑会大大增加看懂代码的难度.遇到这种情况,需要把部分代码抽出来,作为函数来调用,这样可以减少代码的 ...
- 安装ubuntu系统 ——分区
安装ubuntu 系统主要分四个区 目录 建议大小 格式 描述 / 10G-20G ext4 根目录 swap <2048M swap 交换空间 /boot 400M左右 ext4 Linux的 ...
- Hadoop中ssh+IP、ssh+别名免秘钥登录配置
1.为什么要进行 SSH 无密码验证配置? Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个Da ...
- Swift - 给图片和按钮添加阴影边框
最近比较忙,想要做的事情有很多,能做出来的就只有一部份,我觉得也许是我没有计划和规律造成的,我需要坚持下去,今天写了一个swift2.0给按钮或者图片添加阴影的效果,就当做笔记吧:-) Swift C ...