Java实验指导(试验四)

合集下载

JAVA实验指导书

JAVA实验指导书

实验指导书任课教师:杨菊英实验指导教师:杨菊英实验一:面向对象程序设计实验任务一1.实验项目的目的和任务•掌握JA VA环境的搭建•掌握顺序结构、分支结构、循环结构•体会面向对象程序设计基本思想2.上机实验内容(1)搭建JA VA环境练习;(2)验证JA VA基本数据类型;(3)编程实现判定一个数是不是素数,该数要求在主方法中输入。

3.学时数4学时1.实验项目的目的和任务•掌握类的相关知识及应用•掌握数组的应用•体会面向对象程序设计基本思想2. 上机实验内容(1)编写一个日期类Date,年月日为属性,四个构造方法来选择性的对属性进行重新赋值,默认日期为2011年4月22日,输出年月日的值,再编写一个测试类DateTest来完成日期类测试(要求对每个构造函数进行测试,并输出相应的日期。

)(2)需要求3个长方体的体积,数据成员包括长、宽、高,要求用成员函数实现以下功能:a.由键盘分别输入3个长方体的长宽高b.计算长方体的体积;c.输出3个长方体的体积。

(3)找出一个整型数组中的元素的最大值。

要求:数据从键盘输入。

3.学时数4学时1.实验项目的目的和任务•掌握switch分支语句、循环、数组的使用•掌握类的相关知识及应用•体会面向对象程序设计基本思想2.上机实验内容(一)、用数组实现约瑟夫出圈问题。

N个人排成一圈,从第一个人开始报数,从1开始报,报到m的人出圈,余下的人继续开始从1开始报数,直到所有的人都出圈为止。

对于m,n的值要求从键盘输入,求出所有人的出圈顺序。

(二)、利用switch来实现(三)、利用循环来实现以下图形的输出:(四)、编写相应的类,完成公司每类员工的工资计算工作。

某公司的雇员分为以下若干类:Employee:这是所有员工的总的父类属性:员工的姓名和出生月份。

方法:getSalary(int month)根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100元。

SalariedEmployee:Employee的子类,拿固定工资的员工。

实验四 异常处理

实验四 异常处理

Java程序设计实验指导实验四异常处理一、实验目的1、了解Java的异常处理机制;2、掌握如何合理应用异常处理机制;3、学会自定义异常处理类。

上机练习之前,必须先完成程序的书写,再上机调试。

二、实验任务1、类SimpleException中有方法public static double Division(double x,double y) {if(y==0)throw new IllegalArgumentException("分母不能为0"); //手动抛出异常,对于双精度而言,除数为0可以得到无穷大的值,本不会报异常错误,这里手动强制报错return x/y;}主方法中有代码:double a=Double.parseDouble(args[0]);double b=Double.parseDouble(args[1]);System.out.println(Division(a,b));借助异常机制获所有可能出现的异常,并提示相关异常的出错信息。

最后,无论程序如何结束,保证程序都能输出语句“游戏结束!!!”2、自定义日期类异常,1)、定义一个程序DateExceptionTest,该程序主方法中:a)、采用Scanner类的对象来接收三个整数b)、对于非整数数据,能采用异常进行验证c)、用三个整数借助自定义类DateException构建出一个日期对象,并以“yyyy-mm-dd”的形式输出该日期对象。

d)、使用类2)同时要求,自定义类DateException继承自Exceptiona)、拥有两个构造方法,分别是DateException(String s)、public DateException(int year,int month,int day) throws DateException和一个成员方法Date getDate()。

b)、第二个构造方法能接收三个整数,拥有验证三个数据是否合法的能力,验证时,对于非法数据格式,采用抛出异常DateException,抛出异常时,携带错误提示信息。

实验四 Java知识

实验四 Java知识

实验四java知识本实验目的是练习如何创建Java 的基本语法,以及面向对象的知识,为后续的实验作好准备工作。

【课堂练习】一(1)对数组排序【实验效果】根据实验要求,您必须在浏览器的地址栏中输入:Tomcat服务器的IP地址和端口号,如:http://localhost:8080/sort.jsp【课堂练习】Java面向对象思想课堂练习——包创建和引用案例:新建Project项目,在该项目中创建aa.bb包,然后再引入java.util包中的Date类,并创建ShiJian类,练习包的创建和引用。

课堂练习——相同包之间的访问案例:在已经建立Project项目中创建mr.bbb包,然后在该包中创建Test和ImpTest两个类,测试同包之间类的访问。

课堂练习——不同包中类之间的访问案例:在已经建立Project项目中创建mr.aaa包和mr.zzk包,然后分别在包中创建Exam 和ImpExam两个类,测试不同包之间类的访问。

课堂练习——final变量案例:在已经建立Project项目中创建mingri包,并在该包中创建T1类,在该类中定义一个final变量,然后再主方法中创建T1类的实例,并测试能否改变final变量的值。

课堂练习——final方法案例:在已创建的项目Project的包mingri中创建T1类的之类ExT1,然后再ExT1类中测试是否能重写父类T1中的final方法。

课堂练习——继承性案例:在项目的包aaa中创建A和B两个类,使类B是类A的子类,然后在子类B中创建B的实例,并通过该实例分别调用类A和类B的方法,掌握继承的原理。

课堂练习——抽象类案例:在项目的包aaa中创建抽象类Example及其子类SubExample,在抽象类Example 中分别定义一个成员方法和一个抽象方法,并在子类中进行测试。

课堂练习——权限访问案例:在项目的包aaa中创建类Exm,在该类中分别定义4种权限修饰符的成员变量并附初值,然后在主方法中创建类的实例,并分别输出这4个成员变量的值,测试上述4种权限修饰符的成员变量在当前类中的可见性。

java实验报告4

java实验报告4

实验报告_实验4 常用类(学生学号_姓名) 一、实验目的1.掌握String类的基本构造方法和常用方法的使用;2.熟悉StringBuffer类的追加、插入、查找、替换、删除等操作;3.熟悉Math类常量及常用方法的调用;4.熟悉包装类的功能、重要属性、主要构造器和常用方法;5.了解StringTokenizer类的一般使用。

二、实验内容与步骤1、(基础题)运行下列程序,并回答问题:(1) 对于String对象来说,“==”运算符与equals( )方法的功能有什么不同?“==”运算符比较两个字符串引用是否指向同一个对象。

equals( )方法在于比较两个字符串的内容是否完全相同。

(2) s1和s2是否指向同一对象?为什么?是,因为s1和s2是字符串常量,如果用户创建了一个字符串常量,系统首先会在字符串池中查找有无相同内容的字符串存在,若有就把原有取出使用,若无则重新生成,故s1和s2指向同一对象。

(3) s3和s4是否指向同一对象?为什么?不是,用构造器生成的字符串对象,它会在堆中生成一个对象,很明显s3和s4指向了不同的对象。

(4) s1==s3是否成立?为什么?不成立,“==”运算符比较两个字符串引用是否指向同一个对象。

很明显s1和s3指向了不同的对象。

(5) s1、s2、s3、s4的内容是否相同?是(6) compareTo( )方法的功能是什么?当比较结果分别为负数、正数、0 时,代表什么含义?pareTo(Str2);其返回的是一个int类型值。

若Str1等于参数字符串Str2字符串,则返回0;若该Str1按字典顺序小于参数字符串Str2,则返回值小于0;若Str1按字典顺序大于参数字符串Str2,则返回值大于0。

2、(基础题)根据程序注释,将所缺代码补充完整,然后运行程序:程序所缺代码:String str = new String("*****************.cn");System.out.println("字符串的长度: " + str.length()); // 输出字符串的长度System.out.println("字符串的首字符: " + str.charAt(0));// 输出字符串的首字符System.out.println("字符\'@\'的索引号(即下标): " + str.indexOf('@'));System.out.println("该邮箱的顶级域名(即最后一个单词): " + str.substring(stIndexOf('.')+1));System.out.println("字符串全部以大写方式输出为: " + str. toUpperCase());3、(基础题)根据程序注释,将所缺代码补充完整,再运行程序::程序所缺代码StringBuffer sb= new StringBuffer(“里约热内卢奥运会举行时间:”);sb.append(“8月8日晚8点”); // 在sb尾部追加"8月8日晚8点"字符串sb.insert(sb.length()-1,” 8月5日-21日”); //在sb尾部追加"8月5日-21日"字符串sb.replace(n, n+5,"第31届"); // 将字符串中"里约热内卢"替换为"第31届"System.out.println("字符串的长度为: "+ sb.length());// 输出字符串的长度sb.delete(12,25); // 删除字符串中从第12个字符开始到第25个字符为止的内容。

Java语言程序设计A实验4:异常处理

Java语言程序设计A实验4:异常处理

实验课程名称:Java语言程序设计A第二部分:实验过程记录(可加页)(代码、运行结果、实验中出现的问题及解决过程)修改后代码如下:import java.util.*;class ExceptionDemo{public static void main(String[] args) {try {Scanner scanner = new Scanner(System.in);System.out.print("Enter a interger:");int number = scanner.nextInt();System.out.println("The number entered is:" + number);} catch (InputMismatchException e) {System.err.println("输入有误,请重新输入一个整型数据!");new ExceptionDemo().main(args);;}}}运行结果如下:教师签字__________第三部分结果与讨论(可加页)一、实验结果分析(包括数据处理、影响因素讨论、综合分析和结论等)首先运行题目中给出的代码,当输入的数据不是整形时,程序抛出InputMismatchException错误并终止,之后用try……catch捕捉并处理该错误,在catch块中输出错误提示并且重新调用main方法,已达到程序正常运行直达用户输入整数后才退出的目的。

实验中通过main函数的回调,实现了和使用循环处理一样的效果,也可以通过for循环或者do……while循环实现同样的效果,例如以下用for循环的实现:import java.util.*;class ExceptionDemo{public static void main(String[] args) {for (; ; ) {try {Scanner scanner = new Scanner(System.in);System.out.print("Enter a interger:");int number = scanner.nextInt();System.out.println("The number entered is:" + number);// break;} catch (Exception e) {System.err.println("输入有误,请重新输入一个整型数据!\n");}}}}运行效果为:二、小结、建议及体会编程的时候要多考虑一些影响因素,多思考几种实现方法,在各种方法中寻找最优的方案,同时,对于碰到的问题,不要忽略,要多多思考本质的原因,避免下次犯同样的错误。

JAVA编程技术实验指导书

JAVA编程技术实验指导书

《JAVA编程技术》实验指导书实验一Java基本语法练习、面向对象编程的基本技巧一、实验目的及要求1.掌握设置Java运行环境的方法2.掌握编写与运行Java程序的方法3.掌握Java基本数据类型、运算符与表达式、数组的使用方法4.掌握Java程序语法结构、掌握顺序结构、选择结构、循环结构的程序设计方法5.掌握运行Java程序的步骤6.掌握创建类和对象的方法7.掌握构造方法的执行过程8.掌握成员变量的定义方法,隐藏规则9.掌握成员方法的定义,重载和覆盖规则10.掌握抽象类的定义,抽象方法的定义,掌握接口的定义二、实验内容1.编辑一个简单的java程序。

输出一个字符串“Hello java”。

掌握两种编译运行的方法:第一种是在Eclipse环境中编辑、编译、运行。

第二种是在command窗口中使用javac和java命令来编译和运行Java程序。

重点掌握第一种方法,了解第二种方法。

2.编写一个名为PrintArguments的程序,打印从命令行输入的4个参数。

例如在命令行中输入java PrintArguments 10 20 30 40时,将打印出10 20 30403.编写一个程序,把变量n的初始值设置为2315,然后利用除法运算和取余运算把变量n的每一位数字都抽出来并显示,即输出2 3 1 5。

4.写出符合如下要求的程序,并运行。

第一,声明两个基本数据类型的数组A和数组B,数组类型为char、int、double均可,由同学任选。

要求运用键盘来为它们赋值。

第二,分别将这两个数组中的元素输出。

第三,用这两个数组中的元素做加法、减法运算,然后将结果保存在数组A 和数组B之中。

5.用循环语句编写一个程序,算出1000之内的全部素数。

6.输出杨辉三角,要求输出8行。

7.翻译密码。

原文由字母、数字以及其它符号组成。

现按照这样的规律将其转换为密码。

第一,对于字母,将其转换为字母表中其后的第六个符号。

若超出范围,则以26为基数取模。

Java程序设计实验指导

Java程序设计实验指导

附一、实验报告填写方法附1.1 实验开发环境1.硬件:Intel P42.4G/256M/40G PC机一套;2.软件:Windows XP+j2sdk1.5.0+JCreator Pro3.1.0+(MS Access 2000)附1.2实验过程要求1.在上课的同时,将每个实验预习的每个例题直接完成在实验指导书上;2.在实验之前,将实验要求的程序写在草稿本上;3.每次实验之前需要把实验指导书和写有程序的草稿纸带上,以备检查,否则不能进入实验室。

4.实验过程中,不能做与实验无关的事情(如:打游戏、看其他书籍),否则本次实验成绩记0分,在遇到问题的时候举手提问,同学之间交流的声音不可太大。

附1.3实验报告内容填写1.第1页:填写(1)实验目的、(2)实验要求2.第2页~第3页:填写(3)实验程序源代码3.第4页:填写(4)实验运行结果、(5)实验总结实验一:Java基础程序设计Java程序设计语言同大多数程序设计语言一样,具有一些基本特性。

本节实验主要练习Java编程语言的这些基本特性,如Java中的简单数据类型,运算符和表达式,这是学习Java语言必须经过的基础阶段。

掌握了本节实验所讲述的内容后,应该能够对Java程序的构成有一个基本的理解,能够灵活运用Java语言提供的各种数据类型和运算符。

学好Java语言必须具备扎实的语言基础,这对后续学习是很有必要的。

Java程序通过控制语句来执行程序流,完成一定的任务。

程序流是由若干个语句组成的,语句可以是单一的一条语句,也可以是用大括号{}括起来的一个复合语句。

Java中的控制语句主要有分支语句(if-else,switch).循环语句(while,do-while,for)与程序转移有关的跳转语句(break,continue,return)。

本节实验将学习如何控制程序的流程,使程序实现不同功能。

1.1实验目的:1.掌握Java语言的数据类型。

2.掌握Java语言的运算符和表达式。

Java程序设计实验指导书四

Java程序设计实验指导书四

实验指导四实验1:异常一、实验目的(1)理解异常处理。

二、实验任务(1)输入根据给定的Java Application程序,添加功能并写出运行结果。

(2)找出给定程序的错误,修改代码使其能编译运行,并写出运行结果。

(3)按要求填写Java Application程序,并写出运行结果。

三、实验内容1.为下面的Java Application程序,添加异常处理,并简要分析程序的运行结果。

public class RuntimeExceptionDemo01{public static void main(String args[]){String str = "123" ; // 定义字符串,全部由数字组成int temp = Integer.parseInt(str) ; // 将字符串变为int类型System.out.println(temp * temp) ; // 计算乘方}};运行结果:????2.找出给定程序的错误,修改代码使其能编译运行,并写出运行结果。

public class RuntimeExceptionDemo01{public static void main(String args[]){System.out.println(“程序运行开始”) ;Thread.sleep(30000) ;System.out.println(“程序运行结束”) ;}};运行结果:????3. 输入根据给定的Java Application程序,写出运行结果class MyException extends Exception{ // 自定义异常类,继承Exception类public MyException(String msg){super(msg) ; // 调用Exception类中有一个参数的构造方法,传递错误信息}};public class DefaultException{public static void main(String args[]){try{throw new MyException("自定义异常。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

淮海工学院计算机工程学院实验报告书
课程名:《Web应用开发技术》
题目:___java实验_4_____________
班级:
学号:
姓名:
实验4Jav a面向对象编程初步
实验目的
熟悉面向对象基本概念;掌握Java中对象声明、创建、访问、参数传值、static、this、常量定义等基本语法;进一步熟悉Java程序结构;理解掌握其他Java基本概念类声明、各种变量、方法、构造方法、方法重载等。

实验环境
操作系统:windows 2000 或Window XP
集成开发环境:JDK1.5及以上版本
实验学时
2学时,必做实验。

实验内容
(1)熟悉Java面向对象基本概念、语法
(2)编制运行Java程序实例1
(3)编制运行Java程序实例2
实验步骤
(1)编写并运行如下程序
class Point
{
int x,y;
static int z;
static final double PI=3.1415926;
Point(int a,int b)
{
x=a;
y=b;
}
Point()
{
this(1,1);
}
static void output()
{
System.out.println("output() is called");
System.out.println("z="+z);
}
void output(int x,int y)
{
this.x=x;
this.y=y;
System.out.println("x="+x);
System.out.println("y="+y);
}
public static void main(String[] args)
{
System.out.println("static final double PI="+Point.PI);
Point pt;
pt=new Point(3,3);
Point.output();
pt.output(10,10);
Point pt1=new Point();
Point pt2=new Point(6,6);
pt1.z=5;
pt2.z=6;
System.out.println("pt1.x="+pt1.x);
System.out.println("pt2.x="+pt2.x);
System.out.println("pt1.y="+pt1.y);
System.out.println("pt2.y="+pt2.y);
System.out.println("pt1.z="+pt1.z);
System.out.println("pt2.z="+pt2.z);
}
}
(2)编写并运行教材第4章P52页例4.5
class People
{
int money;
void setMoney(int n)
{
money = n;
}
}
class A
{
void f(double y, People p)
{
y = y+1;
p.setMoney(100);
System.out.println("参数y的值是:"+y);
System.out.println("参数对象p的money是:"+p.money);
}
}
public class Exa
{
public static void main(String args[])
{
double y = 0.8;
people zhang = new People();
zhang.setMoney(8888);
A a =new A();
System.out.println("在方法f被调用之前对象zhang的money是:"+zhang.money+"y的值是:"+y);
a.f(y,zhang);
System.out.println("在方法f被调用之后main方法中y的值仍然是:"+y);
System.out.println("在方法f杯调用之后main方法中对象zhang的money是:"+zhang.money);
}
}
分析与思考
(1)Java基本概念,如:类声明、各种变量、方法、构造方法、方法重载等
类声明:class+类名。

各种变量:整型,浮点型,字符型,逻辑类型;引用类型:数组,对象,接口。

方法:方法头和方法体构成。

构造方法:是类中的一种特殊方法,当程序用类创建对象时需使用它的构造方法。

类中的构造方法的名字必须与它所在的类的名字完全相同,而且没有类型。

(2)Java中对象声明、创建、访问、参数传值、static、this、常量定义等基本语法。

相关文档
最新文档