JAVA程序设计 实验一
北京电子科技学院(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程序设计实验 实验五
课程:Java程序设计实验 班级:1353 姓名:符余佳源 学号:20135321 成绩: 指导教师:娄嘉鹏 实验日期:2015. ...
- 南邮JAVA程序设计实验1 综合图形界面程序设计
南邮JAVA程序设计实验1 综合图形界面程序设计 实验目的: 学习和理解JAVA SWING中的容器,部件,布局管理器和部件事件处理方法.通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法. ...
- Java程序设计 实验三
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:李海空 学号:20135329 成绩: 指 ...
- Java程序设计 实验二 Java面向对象程序设计
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:李海空 学号:20135329 成绩: 指导教师:娄嘉鹏 ...
- JAVA程序设计 实验一报告
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1351 姓名:李畅宇 学号:20135129 成绩: 指导教师:娄嘉鹏 ...
- Java程序设计 实验五
实 验 报 告 课程:Java 班级: 1353 姓名:李海空 学号:20135329 成绩: 指导教师:娄嘉鹏 实验日期:2015.6. ...
- java程序设计实验
建立文件调试jdk idea断点调试 项目素数的寻遍
- 《Java程序设计实验》 软件工程18-1,3 OO实验2
- 学号20155311 2016-2017-2 《Java程序设计》第一次实验报告
课程:Java程序设计 实验名称:Java开发环境的熟悉 实验目的与要求: 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 完成实验. ...
随机推荐
- DSP using MATLAB 示例 Example3.12
用到的性质 代码: n = -5:10; x = sin(pi*n/2); k = -100:100; w = (pi/100)*k; % freqency between -pi and +pi , ...
- 如何定义移动端字体Font-Family?
1.对于IOS 手机系统,默认中文字体是Heiti SC.默认英文字体是Helvetica.默认数字字体是HelveticaNeue.无微软雅黑字体: 2.对于Android 手机系统,默认中文字体是 ...
- css3 -- 多列
1.指定分列: E{column-count:2:} --- 两列 E{ -moz-column-count:2: -webkit-column-count:2: } Firefox与webkit实现 ...
- BestCoder Round #75
前两题不想写了 数位DP 1003 King's Order 考虑i的后缀有j个连续,转移状态很简单,滚动数组优化(其实不用) #include <bits/stdc++.h> const ...
- Bridge模式——对象结构型模式
今天看了Bridge模式,对其进行简单的总结,并给出几篇通俗易懂的文章链接. (一)意图--将抽象部分和它的实现部分分离,使它们都可以独立地变化. 适用于从多维度描述的类型,拆解开来,使其能沿着各维度 ...
- ural 2067. Friends and Berries
2067. Friends and Berries Time limit: 2.0 secondMemory limit: 64 MB There is a group of n children. ...
- (转)MySQL提示“too many connections”的解决办法
link:http://www.cfp8.com/mysql-prompt-too-many-connections-solution.html 今天生产服务器上的MySQL出现了一个不算太陌生的错误 ...
- ACM: 强化训练-Roads in the North-BFS-树的直径裸题
Roads in the North Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu De ...
- 【bzoj2631】tree link-cut-tree
2016-06-01 08:50:36 题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2631 注意加和乘的标记下传问题. 还有就是split后 ...
- Notification Once
Notification Once 前段时间整理项目中的AppDelegate,发现很多写在- application:didFinishLaunchingWithOptions:中的代码都只是为了在 ...