北京电子科技学院(BESTI)

实验报告

课程:Java程序设计 班级:1353  姓名:李海空  学号:20135329

成绩:             指导教师:娄嘉鹏      实验日期:2015.4.14

实验密级:         预习程度:         实验时间:

仪器组次:          必修/选修:            实验序号:

实验名称:Java开发环境的熟悉

实验目的与要求:实验内容1.使用JDK编译、运行简单的Java程序;

2.使用Eclipse编辑、编译、运行、调试Java程序。实验要求1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》课程;2.完成实验、撰写实验报告,实验报告模板见QQ群,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等);3.实验报告中统计自己的PSP

实验仪器:

名称

型号

数量

PC

1

实验内容、步骤与体会(附纸):

【实验步骤】

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

首先双击桌面上的Xface终端图标,如下图所示:

打开终端(类似Windows下的cmd),之后会自动运行shell程序,如下图所示:

输入cd Code命令进入Code(注意C要大写)目录,如下图所示:

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

输入cd 20135100命令进入实验目录,再输入类似mkdir exp1建立第一个实验目录,然后输入cd exp1进入实验一目录,可以输入pwd命令查看当前工作路径,如下图所示:

输入gedit Hello.java(注意把代码保存到exp1目录中)或vim Hello.java(建议大家花点时间学习一下Vim)编辑Hello.java,并输入以下代码:

注意代码的第一行,这会影响到我们使用javac编译代码的方式。

注意代码第二行,我们使用到Java类库中的类时,要用import导入相关的类(你可以暂时理解为C语言中include的功能),导入路径可以查看JDK帮助文档,比如我们使用到了Scanner类

【实验结果】

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

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

在Eclipse中单击File->New-> Java Project新建Java项目,如下图所示:

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

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

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

输入如下代码:

```

1 package ljp;

2 public class HelloJDB {

3 public static void main(String[] args) {

4 int i = 5;

5 int j = 6;

6 int sum = add(i, j);

7 System.out.println(sum);

8

9 sum = 0;

10 for(i=0; i< 100; i++)

11 sum += i;

12

13 System.out.println(sum);

14 }

15

16 public static int add(int augend, int addend){

17 int sum = augend + addend;

18 return sum;

19 }

20}

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

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

调试程序首先要会设置断点和单步运行。设置断点比较简单,然后单击调试按钮(或使用F11快捷键)开始调试Java程序,我们可以看到程序停留在了第4行注意,此时第4行代码并没有执行,我们可以把鼠标放到变量名上来查看变量的值,此时i的值并不是5,我们通过单步运行让程序运行到第5行,单步运行有两种:Step Into(快捷捷F5)和Step Over(快捷捷F5),这两种单步运行功能在运行语句时没有区别,在执行函数调用语句时,Step Into会跳入函数实现,Step Over会直接执行完函数,实际使用中我们优先使用Step Over,只有函数执行出错了,说明程序问题在被调用函数中,这时再回来通过Step Into进入函数进行调试。我们单击一下Step Over图标(或F6),程序停在了第5行,这时查看变量i的值,会看到i等于5。

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

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

【实验结果】

(三)练习(通过命令行和Eclipse两种方式实现,自己的学号后两位与题目总数取余的结果再加上1就是自己要完成的题号,在Eclipse下练习调试程序)

5.实现求正整数1-N之间所有质数的功能,并进行测试。

【实验代码】

import java.util.Scanner;

public class Test_1_3

{

public static void main(String[] args)

{

Scanner sole = new Scanner(System.in);

int n1=0;

int n2 =0;

System.out.println("请输入第1个整数.");

n1 =  sole.nextInt();

System.out.println("请输入第2个整数.");

n2 =  sole.nextInt();

if(n1>n2)

{

n1=n1^n2;

n2=n1^n2;

n1=n1^n2;

}

int sum =0;

for(int i = n1; i<=n2; i++)

{

if(f(i)!=0)

{

System.out.println(i);

sum = sum+1;

}

}

System.out.println("sum="+sum);

}

public final static int f(int n)

{

if(n<1)

{

return 0;

}

int temp = (int)Math.sqrt(n);

int i=2;

for(; i<=temp;i++)

{

if(n%i==0)

{

break;

}

}

if(i-1==temp)

{

return n;

}

return 0;

}

}

【实验结果】

PSP

步骤

耗时

百分比

需求分析

20%

设计

30%

代码实现

40%

测试

10%

分析总结

分析总结:以上代码并不是完全独立编写完成,借鉴了一些网络上的代码,在看懂代码的基础上,对代码进行了一些改动。比如输出格式更为美观,加入了统计质数个数的功能。

【遇到的问题及分析】

在进行实验的第二部分时,在编译时出现“Unreachable code”错误提示,网上搜索后知道了是因为错误提示处语句没有被执行,根据调试最后发现是因为for循环中的条件书写错误。知道了这是循环语句中比较常见的错误。

李海自学java_JAVA程序设计 实验一相关推荐

  1. 信息安全系统设计基础 实验四:外社驱动程序设计 20135327郭皓 20135329 李海空...

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全设计基础                         班级:1353 姓名:郭皓 李海空 学号:20135327 ...

  2. Java程序设计 实验三

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计   班级:1353       姓名:李海空  学号:20135329 成绩:             指 ...

  3. C++语言程序设计习题与实验指导,C++程序设计实验指导与习题.pdf

    L 程序设计 D D 实验指导与习题 M 主 编 刘振鹏 马胜甫 M 编 委 张永洪 何欣枫 杜瑞忠 张会芹 边长杰 常 胜 蒋建宾 李继民 杨晓辉 河北大学出版社 M 责任编辑 马 力 M 封面设计 ...

  4. 语言 上课点名 缺勤_主播日记5 | “云端”传递的C语言程序设计实验课

    因受疫情影响,全国各大高校纷纷延期开学,但停课不停学.停课不停教,课堂由线下向线上发生转移,教学方式也发生了转变,这既是对传统教学方法的一种挑战,也是推进和升华教学改革的一个契机.我校C语言程序设计实 ...

  5. java实验四云南大学_云南大学JAVA程序设计实验四

    云南大学JAVA程序设计实验 云南大学软件学院 实 验 报 告 序 号: 实验老师: 陆歌皓 课程名称: JAVA程序设计实验 实验名称: lab4 学 号: 20111120279 姓 名: 李张昱 ...

  6. python综合程序设计-Python程序设计实验五:综合运用三种基本结构进行程序设计...

    安徽工程大学 Python程序设计实验报告 班级:物流192 姓名:李心悦 学号:3190505218成绩: 日期:2020. 4.26 指导教师:修宇 [实验名称] 实验五 综合运用三种基本结构进行 ...

  7. c语言程序设计教程 实验十,清华大学出版社-图书详情-《C语言程序设计实验教程》...

    前言 "C语言程序设计基础"是计算机专业以及理工类各专业的重要基础课程之一,也是很多学校的第一门编程课.理论与实践结合,多动手编程练习是学好C语言的必由之路.全书按照知识点递进的顺 ...

  8. python上机实验报告读取文件_Python程序设计实验八:文件

    安徽工程大学 Python程序设计实验报告 班级:物流192 姓名:李心悦 学号:3190505218成绩: 日期:2020.6.3 指导教师:修宇 [实验名称]实验八 文件 [实验目的] 掌握读写文 ...

  9. 物流管理python实践报告_Python程序设计 实验报告6

    实验六 函数 安徽工程大学 Python程序设计 实验报告 班级   物流192   姓名 周海国  学号3190505228 成绩 日期     2020.5.5    指导老师       修宇 ...

最新文章

  1. git或者ssh出错 fatal:open /dev/null or dup failed: No such file or directory、弹出mitty.dump文件
  2. jquery实现图片懒加载
  3. Libevent源码分析-----连接监听器evconnlistener
  4. [技术收藏]关于IOPS
  5. 黑历史有救了,淘宝可以改账号名了!网友:终于可以“重新做人”了
  6. 可能存在无限递归_无限分类递归+排序解剖
  7. atm取款流程测试_盘点2020年软件测试新手必看的技术面试指南(下)
  8. FFmpeg学习(3)——视频中音频文件提取
  9. 广东省东莞市谷歌卫星地图下载
  10. Python 练习题6-13
  11. VNC远程控制服务器卡顿
  12. 英语魔法师之语法俱乐部 | 笔记2 | 初级句型—简单句 | Chapter1—基本句型及补语
  13. Python如何爬取免费爬虫ip
  14. 405 Method Not Allowed 解决方案
  15. 联想ghost重装系统_联想笔记本系统重装图文教程
  16. python六边形网格_六边形网格地图算法细节介绍
  17. 五千年中国富豪排行榜(组图)
  18. 那些年我们对Spark RDD的理解
  19. dumpsys activity 查看系统运行了哪些任务?
  20. /opt/MegaRAID/MegaCli/MegaCli64

热门文章

  1. 使用Spring Boot构建独立的OAuth服务器(三)
  2. 《Linux 设备驱动开发详解(第2版)》——1.4 Linux设备驱动
  3. 依赖声明可以包含的元素
  4. 安装sql server 2008 management studio时,提示升级VS2008 到 SP1
  5. Java里的阻塞队列
  6. EqualLogic强势增长,戴尔领跑iSCSI中国及香港地区市场
  7. 用完HttpWebResponse时别忘了调用Close方法
  8. kafka计算机专业读法_终于知道Kafka为什么这么快了!
  9. redis zset转set 反序列化失败_关于Redis中的五种数据结构,要知其然知其所以然...
  10. java objective-c,Objective-C基础教程学习笔记(附录)从Java转向Objective-C