java第一次课必修实验答案_java第一次实验

北京电子科技学院(BESTI)

实验报告

课程:Java程序设计 班级:1353  姓名:陈实  学号:20135224

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

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

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

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

实验目的与要求:实验内容

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

2.使用Eclipse 编辑、编译、运行、调试Java程序。实验要求1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》课程;

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

4.实验报告中统计自己的PSP  ;

实验仪器:

名称

型号

数量

PC

sony

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...

【实验结果】

61ffe2f386aedf59cb60aef890c0ef63.png

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

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

【实验代码】

package shiyan1;

import java.util.Scanner;

public class shiyan1

{

public static void main(String[] args)

{

Scanner input=new Scanner(System.in);

System.out.println("输入数据:");

int n=input.nextInt();

System.out.print("2 ");

for(int i=2;i

{

for(int j=2;j<=i/2;j++)

{

if(i%j==0)  break;

else if(i%j!=0&&j==i/2)  System.out.print(i+" ");

else  continue;

}

}

}

}

【实验结果】

ab3f3c1cfc6d94410b2e85cfde665df8.png

e071c8f703e6da4798149c927ef89693.png

PSP

步骤

耗时

百分比

需求分析

10%

设计

20%

代码实现

40%

测试

30%

分析总结

本问题比较简单,可以通过一个嵌套循环做,在结构和设计上基本没什么问题,但一些语句,比如输入语句,对键盘的扫描类等的建立要上网礤

【遇到的问题及分析】

基本没有太大的问题,问题主要来自于对循环的取数上和一些语言的功能应用。输入的代码需要从书上和前几星期的测试笔记中记录,import.java.util.Scanner;调用,

对于素数,2比较特殊,为了保证素数的一般性,先将2输出的结构设计比把2考虑进去方便很多;在内循环部分,for的遍历可以折半,i/2完全可以简化时间。

Java程序设计》实验指导书程序代码(答案)(实验五:Java的异常处理),个人原创,仅供参考与交流。 希望多多交流,共同进步! 实验Java的异常处理 一、实验目的: 理解 java 语言中独特的异常处理机制; 掌握异常处理方法; 正确地使用捕获异常和声明抛弃异常的两种异常处理的方法; 了解自定义异常类的使用; 理解抛出异常和声明抛出异常的区别与联系; 二、实验内容: 1. 从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。 2.写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。 3.自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(a,b,c)分别给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形要抛出自定义异常NotSanjiaoException,否则显示正确信息。在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。 三、实验要求: 1. 通过实验掌握捕获异常和声明抛弃异常的两种异常处理的方法; 2. 程序必须能够捕获Integer.parseInt()产生的异常并作相应的处理; 3. 程序必须能够将处理的相应的信息输出出来; 4. 写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提材示,并给出解决办法。(附运行界面、源代码)。 四、实验步骤: 1. (第1题) 使用try…..catch…. finally语句对Integer.parseInt()产生的异常进行捕获处理; 2. (第2题) 定义方法void sanjiao(int a,int b,int c)中,不符合条件则抛出异常(if a+b<=c(或a+c<=b,b+c<=a) then throw new IllegalArgumentException(),),再定义main方法,调用此方法,用try…..catch…. finally语句并捕获异常; 3. (第3题) 定义三角形类及相应的方法, 在定义的方法中对不符合条件则抛出异常(如上题) ,再定义main方法,对正确的数据输出正确信息,否则捕获异常; 五、自做实验 1.参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。[提示:用错误数据测试,即可得到异常类名,运行主方法参数输入 abc 测试] public class StringIndexOutOf{ public static void main(String args[]){ System.out.println("字符串索引越界异常"); String str=args[0]; System.out.println(“第四个字符为 ”+str.charAt(3)); int aa=Integer.parseInt(args[0]); System.out.println(“平方为 ”+aa*aa); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值