JAVA实验8

JAVA实验8
JAVA实验8

浙江经贸职业技术学院实训报告

系部______________ 班级____________ 姓名____________ 学号_______________

日期______________ 地点____________ 指导教师_____________ 成绩

实验九JA V A 面向对象编程(5)

【实验目的】

1.掌握JAVA语言接口的定义和使用。

2.掌握JAVA语言抽象类的声明和使用。

3.掌握JAVA语言抽象方法的概念和使用。

4.掌握类成员变量及方法的使用。

【预习内容】

1. JA V A 抽象类的定义格式;

2.JAVA 接口定义的语法格式;

3.this 和 super关键词的功能和区别;

4.JAVA构造方法的重载;

5.JAVA多态的概念,及重载和覆盖的区别;

【实验内容及步骤】

1.定义一个学生类,包括属性:学号(ID),姓名(name),成绩(score);构造方法(带三个参数);每个属性的访问器方法。

【程序代码】

import java.util.Scanner;

class Student {

String ID = " ";

String name = " ";

float Score = 0.0f;

Student (String ID, String name, float Score) {

this.ID = ID;

https://www.360docs.net/doc/586339939.html, = name;

this.Score = Score;

}

public String getID () {

return ID;

}

public String getName () {

return name;

}

public float getScore () {

return Score;

}

}

public class Test_1 {

public static void main (String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("请输入学号:");

String ID = sc.nextLine();

System.out.println("请输入姓名:");

String name = sc.nextLine();

System.out.println("请输入成绩:");

float Score = sc.nextFloat();

Student a = new Student("01", "小明", 555);

System.out.println("学号:" + a.getID());

System.out.println("姓名:" + a.getName());

System.out.println("成绩:" + a.getScore());

}

}

【程序运行结果】

2.创建类A1,实现构造方法中输出This is A;创建A1的子类B1,实现构造方法中仅输出This is B;创建B1的子类C1,实现构造方法中仅输出This is C。

【程序代码】

class A1 {

A1 () {

System.out.println("This is A!");

}

A1 (int i) {

}

}

class B1 extends A1 {

B1 () {

super(1);

System.out.println("This is B!");

}

B1 (int i) {

super(1);

}

}

class C1 extends B1 {

C1 () {

super(1);

System.out.println("This is C!");

}

}

public class Test_2 {

public static void main (String[] args) {

A1 a = new A1();

B1 b = new B1();

C1 c = new C1();

}

}

【程序运行结果】

3.定义一个人类(Person),它包含属性:姓名(name),性别(sex);

带两个参数的构造方法;属性的访问器方法。定义上面人类的子类学生类(Student),包括属性:学号(ID),带参数的构造方法;属性的访问器方法。

【程序代码】

class Person {

String Name = null;

String Sex = null;

Person (String Name, String Sex) {

https://www.360docs.net/doc/586339939.html, = Name;

this.Sex = Sex;

}

public String getName () {

return Name;

}

public String getSex () {

return Sex;

}

}

class Student extends Person {

String ID = null;

Student (String ID) {

super("wj", "女");

this.ID = ID;

}

public String getID () {

return ID;

}

}

public class Test_3 {

public static void main (String[] args) {

Person p = new Person("cc", "男");

Student s = new Student("01");

System.out.println("姓名:" + p.getName() + "\n" + "性别:" + p.getSex());

System.out.println("姓名:" + s.getName() + "\n" + "性别:" + s.getSex() + "\n" + "学号:" + s.getID());

}

}

【程序运行结果】

【练习题】Static关键字与普通变量的区别:

4. 创建一个名称为StaticDemo的类,并声明一个静态变量和一个普通变量。对变量分别赋予10和5的初始值。在main()方法中输出变量值。

【程序代码】

class StaticDemo {

static int i = 10;

int j = 5;

}

public class Test_4 {

public static void main (String[] args) {

StaticDemo s = new StaticDemo();

System.out.println("i = " + s.i + "\nj = " + s.j);

}

}

【程序运行结果】

【练习题】覆盖、继承

5. 建立一个汽车Auto类,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。

并通过不同的构造方法创建实例。至少要求:汽车能够加速,减速,停车。

再定义一个小汽车类Car,继承Auto,并添加空调、CD等成员变量,覆盖加速,减速的方法

【程序代码】

import java.util.Scanner;

class Auto {

int sum = 4;

String color = "red";

float Weight = 1.0f;

float Speed = 0.0f;

Auto (int sum, String color, float Weight, float Speed) {

this.sum = sum;

this.color = color;

this.Weight = Weight;

this.Speed = Speed;

}

public void addSpeed (float Speed) {

this.Speed += Speed;

getSpeed();

}

public void redSpeed (float Speed) {

this.Speed -= Speed;

getSpeed();

}

public void Stop () {

Speed = 0.0f;

System.out.println("已停车");

}

public void getSpeed () {

System.out.println("汽车当前速度为:" + Speed + "KM/H");

}

}

class Car extends Auto {

String AirConditioning = "无";

String CD = "无";

Car (int sum, String color, float Weight, float Speed, String AirConditioning, String CD) { super(sum, color, Weight, Speed);

this.AirConditioning = AirConditioning;

this.CD = CD;

}

public void addSpeed (float Speed) {

this.Speed += Speed;

getSpeed();

}

public void redSpeed (float Speed) {

this.Speed -= Speed;

getSpeed();

}

}

public class Test_5 {

public static void main (String[] args) {

Scanner sc = new Scanner(System.in);

Scanner ss = new Scanner(System.in);

System.out.println("请输入汽车轮胎数量:");

int sum = sc.nextInt();

System.out.println("请输入汽车颜色:");

String color = ss.nextLine();

System.out.println("请输入汽车重量:");

float Weight = sc.nextFloat();

System.out.println("请输入汽车当前速度:");

float Speed = sc.nextFloat();

Auto a = new Auto(sum, color, Weight, Speed);

System.out.println("请输入要加速多少KM/H:");

float addSpeed = sc.nextFloat();

a.addSpeed(addSpeed);

System.out.println("请输入要减速多少KM/S");

float redSpeed = sc.nextFloat();

a.redSpeed(redSpeed);

a.Stop();

System.out.println("请输入汽车轮胎数量:");

sum = sc.nextInt();

System.out.println("请输入汽车颜色:");

color = ss.nextLine();

System.out.println("请输入汽车重量:");

Weight = sc.nextFloat();

System.out.println("请输入汽车当前速度:");

Speed = sc.nextFloat();

System.out.println("请输入汽车是否有空调或空调种类:");

String AirConditioning = ss.nextLine();

System.out.println("请输入汽车是否有CD:");

String CD = ss.nextLine();

Car c = new Car(sum, color, Weight, Speed, AirConditioning, CD);

System.out.println("请输入要加速多少KM/H:");

addSpeed = sc.nextFloat();

c.addSpeed(addSpeed);

System.out.println("请输入要减速多少KM/S");

redSpeed = sc.nextFloat();

c.redSpeed(redSpeed);

c.Stop();

}

}

【程序运行结果】

6.(1)封装一个People类型,具有height和weight属性,具有speakHello、averageHeight、averageWeight功能。(2)封装一类ChinaPeople类型是People的子类,新增chinaMartial 功能,override超类的speakHello、averageHeight、averageWeight功能。(3)封装一类AmericanPeople类型是People的子类,新增AmericanBoxing功能,override超类的speakHello、averageHeight、averageWeight功能。(4)封装一类BeijingPeople类型是ChinaPeople的子类,新增BeijingOpera功能,override超类的speakHello、averageHeight、averageWeight功能。(5)用一个程序执行入口Test测试上述对象

【程序代码】

class People {

float Height = 175.0f;

float Weight = 70.0f;

public void speakHello () {

System.out.println("People:Hello!");

}

public void averageHeight () {

System.out.println("People's averageHeight:" + Height + "cm");

}

public void averageWeight () {

System.out.println("People's averageWeight:" + Weight + "KG");

}

}

class ChinaPeople extends People {

ChinaPeople () {}

ChinaPeople (float Height, float Weight) {

this.Height = Height;

this.Weight = Weight;

}

public void chinaMartial () {

System.out.println("chinaMartial");

}

public void speakHello () {

System.out.println("ChinaPeople:Hello!");

}

public void averageHeight () {

System.out.println("ChinaPeople's averageHeight:" + Height + "cm");

}

public void averageWeight () {

System.out.println("ChinaPeople's averageWeight:" + Weight + "KG");

}

}

class AmericanPeople extends People {

AmericanPeople () {}

AmericanPeople (float Height, float Weight) {

this.Height = Height;

this.Weight = Weight;

}

public void AmericanBoxing () {

System.out.println("AmericanBoxing");

}

public void speakHello () {

System.out.println("AmericanPeople:Hello!");

}

public void averageHeight () {

System.out.println("AmericanPeople's averageHeight:" + Height + "cm");

}

public void averageWeight () {

System.out.println("AmericanPeople's averageWeight:" + Weight + "KG");

}

}

class BeijingPeople extends ChinaPeople {

BeijingPeople () {}

BeijingPeople (float Height, float Weight) {

this.Height = Height;

this.Weight = Weight;

}

public void BeijingOpera () {

System.out.println("BeijingOpera!");

}

public void speakHello () {

System.out.println("BeijingPeople:你好!");

}

public void averageHeight () {

System.out.println("BeijingPeople's averageHeight:" + Height + "cm");

}

public void averageWeight () {

System.out.println("BeijingPeople's averageWeight:" + Weight + "KG");

}

}

public class Test_6 {

public static void main (String[] args) {

People a = new People();

a.speakHello();

a.averageHeight();

a.averageWeight();

System.out.println();

ChinaPeople b = new ChinaPeople(180, 75);

b.speakHello();

b.averageHeight();

b.averageWeight();

b.chinaMartial();

System.out.println();

AmericanPeople c = new AmericanPeople(180, 80);

c.speakHello();

c.averageHeight();

c.averageWeight();

c.AmericanBoxing();

System.out.println();

BeijingPeople d = new BeijingPeople(179,79);

d.speakHello();

d.averageHeight();

d.averageWeight();

d.BeijingOpera();

}

}

【程序运行结果】

8-实验八Java多线程操作(实验报告内容)

实验八 Java多线程操作 (实验报告) 一、目的 1.掌握Java多线程操作。 二、实验内容 启动线程,线程休眠,线程同步,等待和唤醒 三、实验环境 JDK1.6+dos环境 四、实验原理 通过案例掌握多线程操作。 五、实验步骤 1、设计一个线程操作类,要求可以产生三个线程对象,并可以分 别设置三个线程的休眠时间,如下所示: 线程A,休眠10秒 线程B,休眠20秒 线程C,休眠30秒 2、生产者与消费者问题,生产者生产一台电脑,消费者马上将生 产出的电脑取走。 六、实验小结 1、class MyThread implements Runnable{

String name; int time; public MyThread(String name,int time){ https://www.360docs.net/doc/586339939.html,=name; this.time=time; } public void run(){ try{ Thread.sleep(this.time); } catch(Exception e){ } System.out.println(https://www.360docs.net/doc/586339939.html,+"线程,休眠"+this.time/1000+"秒"); } } public class Demo08{ public static void main(String args[]){ MyThread mt1=new MyThread("线程A",10000); MyThread mt2=new MyThread("线程B",20000); MyThread mt3=new MyThread("线程C",30000);

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。 二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.360docs.net/doc/586339939.html,/j2se,根据提示

JAVA实验3-异常处理和常用实用类-报告

信息工程学院1 《Java语言程序设计》实验报告 学院: 班级: 姓名: 学号: 成绩: 一、实习目标 (1)掌握Java的异常处理机制及相关实现方法; (2)掌握常用实用类的使用,熟悉使用JDK_API进行软件开发; (3)掌握Java中正则表达式的基本用法。 二、实验过程 实验题1 try-catch练习: JAVA_API: getMassage():返回此throwable或exception的详细消息字符串,正数除0 返回Infinity,负数除0返回-Infinity。 toString():对象利于null的详细消息字符串创建,则返回此对象的实际类的 名称,返回此throwable的简短描述。 printStackTrace():将错误的详细信息追踪到代码中具体某一行,将throwable 及其追踪输出至标准错误流。 代码截图: CatchError类: 实验报告的内容与格式按任课教师的要求书写。

MainTest类:

运行结果: 实验题2 用户自定义异常: 在ExceptionTest类中进行成绩录入和平均成绩的计算。 StasticScore类为成绩录入的具体方法,并进行异常检测。 ScoreException类继承StasticScore,输出错误提示。 代码截图: ExceptionTest类: ScoreException类:

StasticScore类:

运行结果:

实验题3 String & StringBuffer的使用: JAVA_API: Int indexOf(String str, int fromIndex)函数:返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。如果不存在,返回-1。 Static String valueOf(int i)函数:返回int参数的字符串表示形式。该表示形式正是单参数的interger.toString方法返回的结果。 Int indexOf(String str, int fromIndex)函数:返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。如果不存在,则返回-1。 Public StringBuffer append(String str)函数:将指定的字符串追加到此字符序列。按顺序追加String变量中的字符,使此序列增加到该变量的长度。 代码截图: TestOfKeyword类:

Java集合框架实验报告

浙江大学城市学院实验报告 课程名称Java高级程序设计 实验项目名称Java集合框架实验 学生姓名专业班级学号 一、实验目的 1.理解Java集合框架的特点、接口与类之间的关系 2.掌握Java集合框架的List接口,以及List接口的重要实现类LinkedList、ArrayList 3.掌握Java集合框架的Set、SortedSet接口,以及重要实现类HashSet与TreeSet 4.掌握Java集合框架的Map、SortedMap接口及其重要实现类HashMap、TreeMap 5.掌握Java集合框架的Collection与Iterator接口的特点与使用方式 二、实验内容 1、使用List管理对象集合 2、使用Map管理对象集合 3、使用Set管理对象集合 4、设计一个自定义的集合类 三、实验步骤 1、在Eclipse中新建工程(即项目) 2、使用List管理对象集合 1)新建一个包listExample 2)在这个包中新建三个类:Student类,StudentList类,StudentListTest类。 参考代码: Student、java, StudentList、java,StudentListTest、java 3)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程序, 给出具体的实现代码(不使用泛型类)。

void addStudent(Student student){//添加一个学生对象 boolean a=true; for(int i=0;i

JAVA实验_题目8

第八章类和对象的扩展 【实验目的】 (1) 类的继承 a. 掌握父类及子类的关系及创建方法 b. 掌握上转型对象的使用方法 c. 掌握子类对象创建过程中与父类构造方法的关系,及super关键字的用法 (2) 多态与接口 a. 掌握抽象类与抽象方法的概念 b. 掌握多态的实现原理及方法 c. 了解成员变量的隐藏 d. 掌握接口的设计方法 【实验范例】 例1:(继承) (1)编写一个圆类Circle,该类拥有: ①一个成员变量 Radius(私有,浮点型);ustID == id) ind=i; } while (true) { "\n1.存款"); "2.取款"); "3.修改密码"); "4.查询"); "5.退出"); sc = new Scanner; switch()) { case 1: "请输入存款金额:"); money = (); cust[ind].deposit(money); cust[ind].displayAccout(); break; case 2: "请输入取款金额:"); money = (); if (cust[ind].withdraw(money)) cust[ind].displayAccout(); else "您的账号余额不足!"); break;

case 3: "请输入新密码:"); cust[ind].custPWD = (); break; case 4: cust[ind].displayAccout(); break; case 5: "欢迎使用xxx银行系统!"); (1); } } } } 【练习题目】 8-1 (继承与多态)有哺乳动物类mammal,将其作为父类,从其派生出子类猫cat和子类狗dog,基类中有方法speak()。 8-2 (重载)编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个strAdd函数分别实现这两个字符串的拼接、整数相加和浮点数相加。要进行异常处理,对输入的不符合要求的字符串提示给用户,不能使程序崩溃。(异常处理) 8-3 (接口) 1.利用接口继承完成对生物、动物、人三个接口的定义。其中生物接口定义呼吸抽象方法; 2.动物接口除具备生物接口特征之外,还定义了吃饭和睡觉两个抽象方法; 3.人接口除具备动物接口特征外,还定义了思维和学习两个抽象方法。 4.定义一个学生类实现上述人接口。 8-4 (继承、接口) 实现一个名为Person的类和它的子类Employee,Manager是Employee的子类,设计一个接口Wage,用于涨工资,普通员工一次能涨10%,经理能涨20%。 具体要求如下: (1)接口Wage包含addWage方法,创建类WageImpl用于实现接口Wage (2)Person类中的属性有:姓名name(String类型),地址address(String类型),定义该类的构造方法; (3)Employee类中的属性有:工号ID(String型),工资wage(double类型),工龄(int型),定义该类的构造方法; (4)Manager类中的属性有:级别level(String类型)定义该类的构造方法; (5)编写一个测试类,产生一个员工和一个经理给该员工和经理涨工资,并输出其具有的信息。

java 异常处理

实验五异常处理 【实验目的】 1.了解Java 中异常处理(exception)的作用。 2.掌握异常处理的设计方法。 【实验内容】 一.Java的异常处理。源文件是Ex4_1.java。要捕捉的异常是除数为零和数组下标越界。 通过修改a和c[]下标值体验程序。 public class Ex4_1 { public static void main (String[] args) {int a, b; int c[]={1,2,3}; try{ a=10; b=100/a; System.out.println ("当前a值:"+a); c[2]=200; System.out.println ("当前数组长:"+c.length); }catch(ArithmeticException e) { System.out.println ("除零错误:"+e); } catch(ArrayIndexOutOfBoundsException e) { System.out.println ("数组下标越界:"+e); } finally { System.out.println ("我是finally");} System.out.println ("我能被正常执行到"); } } 【思考问题】 ①先运行上面没有错误程序,观察运行结果。 ②按下条件分别修改数据,编译后运行,观察输出结果,分析在try…catch块里那 些语句没有被执行,为什么? 块外那些语句可被执行到,为什么? ◆修改a=0,保持c[2]=200; ◆保持a=10,修改c[3]=200, ◆修改a=0,修改c[2]=200; ③再添加一个catch{Exception e}{ },位置在最前面,观察编译信息,说明什么?2.自定义异常类。注意throw、throws的使用。源文件是Ex4_2.java。 class MyException extends Exception //自定义异常类 {public String toString() { return "除数等于零"; } }

java 实验七 对象集合 实验报告

实验七对象集合的组织 实验目标: 1.了解Collection、List、Set、Map等常用数据结构的层次结构 2.掌握LinkList、Vector、ArrayList、HashTable、HashMap等类的用法 3.掌握Enumeration(枚举)及Iterator(迭代器)的遍历用法 4.了解自学HashSet、TreeSet这两个Set接口下的重要实现类 5.了解自学比较器接口 实验任务: 1. 填空 List 接口的特点是元素__有__(有|无)顺序,___可以___(可以|不可以)重复; Set 接口的特点是元素__无___(有|无)顺序,__不可以____(可以|不可以)重复; Map 接口的特点是元素是键、值对象,其中__键__可以重复,_值对象__不可以重复 2. (List)有如下代码: import java.util.*; public class TestList{ public static void main(String args[]){ List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(1, “Learn”); list.add(1, “Java”); printList(list); } public static void printList(List list){ //1 } } 要求: 1) 把//1 处的代码补充完整,要求输出list 中所有元素的内容,请使用三种方式来实现(课本227页,Iterator、增强for循环,普通循环)。 2) 三种代码与执行结果截图 1、用Iterator实现的代码如下: package zi; import java.util.*; publicclass Ex7_2{ publicstaticvoid main(String args[]){ List list = new ArrayList(); list.add("Hello"); list.add("World"); list.add(1, "Learn");

实验一java基础知识

实验一:java基础知识 实验目的: 1.掌握jave中变量的类型。 2.掌握常用的运算符 3.程序流程控制:顺序,选择和分支 实验内容: 1、回文数: 编写一个Java程序。用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。回文数是指该数含有的数字逆序排列后得到的数和原数相同。 实验类别:验证性 2、猜数字游戏 编写一个Java应用程序,实现如下功能: 程序随机分配给客户一个1-100之间的整数 用户在输入对话框中输入自己的猜测 程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”、和“猜对了”用户可以根据提示信息再次输入猜测,直到提示信息是“猜对了” 实验类别:设计性 3、输出希腊字母表 为了输出希腊字母表,首先获取希腊字母表的第一个字母和最后一个字母在unicode表中的位置,然后使用循环输出剩余的希腊字母 要观察一个字符在uniclde表中的顺序位置 实验类别:设计性

实验二类和对象 实验目的: 1.理解类的基本概念。 2.掌握如何定义类,定义类的成员变量和成员方法.创建和使用对象。 3.掌握定义重载方法和构造方法,方法参数的传递。 4. static变量和方法的使用。 实验内容: 1、定义一个名为Rectangle的类表示矩形,其中含有length,width两个double型 的成员变量表示矩形的长和宽。要求为每个变量定义访问方法和修改方法,定义求矩形周长的方法peremeter和求面积的方法area。定义一个带参数构造方法,通过给出的长和宽创建矩形对象。定义默认构造方法,在该方法中调用有参构造方法,将矩形长宽设置为1.0。 实验类别:验证性 2、方法重载: 编写一个Java程序,反映方法重载的使用特点,该程序包含多个重载的加法的运算,如整型加法,实型加法。 实验类别:验证性 3、学生类的创建: 1)创建一个student类,包括的域有学号、班号、姓名、性别、年龄等 2)声明一个构造方法,以初始化对象的所有域 3)声明分别获得各属性(学号、班号、姓名、性别、年龄)的各个public方法。4)声明修改各属性(学号、班号、姓名、性别、年龄)的各个public方法。5)创建一个具体学生对象,进行输出。 实验类别:设计性 4、定义一个类,类中有两个整型变量x和y,并定义构造函数初始化这两个变量。(通过构造函数传数据,数据值自定) 类中还可定义以下方法: 求两个数的和(x+y)并返回结果,求两个数的差(x-y)并返回结果,求两个数商(x/y)并返回结果,求两个数的余数(x%y)并返回结果,求两个数的最大值并返回结果。 编写应用程序,测试上面定义的类,使用类中定义的各个方法并将其结果输出。实验类别:验证性 5、用set()、get()方法传递数据: 本工程共有三个类,Person类、Employee类、和Test类,其中Test类 为测试类,其中有main()方法。 调用的是默认的构造方法,参数为空。 实验类别:设计性

JAVA实验报告

宁夏师范学院实验课程报告单 (数计)学院(08)级(计算机科学与技术)专业()班(java)课程学号31 姓名张娅娟班级08级 实验课程java 实验题 目 基本数据类型 实验日期2011.4.2 指导老 师 褚万军 实验内容及具体步骤: 实验4 基本数据类型的使用 1.实验目的 ●学习标识符的命名规则。 ●学习基本数据类型变量的声明。 ●学习基本数据类型变量的初始化。 ●明确局部变量使用前初始化的意义。 ●学习常量的使用。 2.实验内容 编写一个Java 程序,在程序中声明各种基本数据类型的变量,对它们进行初始化,再显示它们各自的值;定义一个双精度数据类型的常量,并显示它的值。 3. 程序清单与测试数据 //InitVar.java public class InitVar{

public static void main(String [] args) { byte a=10;//声明一个字节型变量a,初始化为10 short b=20;//声明一个短整形变量b,初始化为20 int c=30;//声明一个整数形变量c,初始化为30 long d=40L; float e=50f;//声明一个单精度变量e,初始化为50f double f=60d; //声明一个双精度变量f,初始化为60d char g='A';//声明一个字符形变量g,初始化为‘A’ boolean h=true;//声明一个布尔形变量h,初始化为true double pi=3.14;//声明一个双精度形常量pi,初始化为3.14 //以下是输出语句,请给出。 System.out.println("字节型,a="+a); System.out.println("短整型,b="+b); System.out.println("整型,c="+c); System.out.println("长整型,d="+d); System.out.println("单精度型,e="+e); System.out.println("双精度型,f="+f); System.out.println("字符型,g="+g); System.out.println("布尔型,h="+h); System.out.println("圆周率,pi="+pi);

第五章Java语言异常处理-实验题目

第五章Java语言异常处理--实验题目 一、实验目的 1. 掌握Java的异常处理机制。 2. 掌握try、catch、throws和finally这5个关键字的用法。 3. 掌握成员的几个异常类。 4. 掌握自定义异常的使用。 二、实验内容 1.编写程序,从键盘上输入两个数。将第一个数除以第二个数并显示结果;处理所有可能的异常。 2.写出下面程序运行的结果: 3.写出下列程序的输出结果。

4.有下列程序: 若用下面方式执行该程序,则baz的值为( )。 java Test Red Green Blue (A)“”(B)null (C)"Red”(D)”BIue”(E)”Green”(F)代码不能编译(G)程序抛出异常5.有下列程序: 该程序的输出结果为( )。 (A)没有任何输出(B)输出“Finally”(C)编译错误(D)抛出异常 6.有下列程序:

该程序的输出结果为( )。 (A)没有任何输出(B)输出“Finally”(C)编译错误(D)抛出异常7.修改下列程序的错误之处。 8.写出下列程序的运行结果。

9.编写一个程序,要求从键盘输入一个double型的圆的半径,计算并精出其面积。 测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。10.编写一个应用程序,在main()方法中使用try块抛出一个Exception类的对象,为Exception的构造方法提供一个字符串参数,在catch块内捕获该异常并打印出字符串参数。添加一个finally块并打印一条消息。 11.创建一个自定义的异常类,该类继承Exception类,为该类写一个构造方法,该构造方法带一个String类型的参数。写一个方法.令其打印出保存下来的String对泉。再编写一个类,在main()方法中使用try--catch结构创建一个MyException类的对象并抛出,在catch块中捕获该异常井打印出传递的String消息。

实验二 Java类-实验报告

南京信息工程大学实验(实习)报告 实验(实习)名称Java类实验(实习)日期 10.17 得分指导教师刘文杰院计算机与软件学院专业软件工程年级 2017级班次 1 姓名张成学号20171344024 1.实验目的: 1)熟练MyEclipse工具的使用与调试; 2)掌握Java类、方法和变量的定义和使用; 3)熟悉方法重载和覆盖、掌握this和supper关键字使用; 4)掌握4类访问控制符的使用。 2.实验内容: (1)定义一个类Circle,实现其面积计算功能getArea(); (2)编写程序,读入一个正整数并按降序显示它的所有最小因子。(教材第3章习题9)(3)利用多态性编程,实现求三角形、正方形和圆形的面积。(教材第4章习题6) 3.实验步骤 1、 public class Circle { public double radius; public Circle(double r) { radius= r; } public double getArea() { return radius*radius*Math.PI; } public static void main(String[] args) { Circle area1 = new Circle(5); System.out.println("The area is " + area1.getArea()); } }

2、 import java.util.Scanner; public class Read { public static void main(String[] args) { Scanner input =new Scanner(System.in); System.out.print("输入一个正整数:"); int n=input.nextInt(); int []a=new int[n]; int []b=new int[n]; int p,q=0,m=0; for(p=2;p<=n;p++) { while(n%p==0) { n=n/p; if(n!=1) { a[q]=p; q++; } else { a[q]=p; } } } while(q!=-1) { b[m]=a[q]; m++; q--; } for(p=0;p

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期: 2014-2015 课程名称:《Java程序设计实验》 班级:信息1202 姓名:方逸梅 学号: 31 指导老师:费玉莲

《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 。 (四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容和要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1.下载、安装并设置Java SDK 软件包。 2.熟悉Eclipse 编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { "Hello java! 欢迎使用!"); } }

JAVA异常实验报告

一. 实验目的及实验环境 实验目的:1.理解JA V A对异常的处理 2.掌握自定义异常的定义方式 实验环境:eclipse 4.4 二. 实验内容 1.假设Sum类中有一个addContinue(int n)方法,当n>0时,方法翻译1+2+…+n 的和;当n<0时,方法抛出一个受检查的ArgumentException异常。ArgumentException类应该提供一个能够接受并保存n值得构造方法,以及一个能返回n值得实例方法,现定义Sum类以及ArgumentException类,并编程测试它们。 三.方案设计 1.定义三个类Sum,ArgumentException,Test类 2.分别在类中实现加法,异常抛出和测试 四.测试数据及运行结果 1.正常测试数据(3组)及运行结果;

2.非正常测试数据(2组)及运行结果。 五.总结 1.实验过程中遇到的问题及解决办法; ①中没有明确表示需要进行异常抛出很有可能就会忘记这个题目存在的问题。所以平常程序设计时,应该多考虑不同的情况,防止程序出现不可逆的漏洞。 ②如果发生可识别的运行错误,系统应产生一个相应的异常类对象,并进一步寻找异常处理代码来处理它,确保程序能从故障中恢复,之程序能够运行下去,直

到结束。 2.对设计及调试过程的心得体会。 中断,影响程序正常运行的事件称为异常。异常处理是使程序从故障中恢复,他包括提示异常信息、不产生无效结果和释放资源三方面内容。其中,显示异常信息和不产生无效结果可通过try和catch块来实现,释放资源可通过finally块实现。 附代码 public class Add { public int addContinue(int i) throws ArgumentException{ int sum=0; if( i<0){ throw new ArgumentException(i); } for(int n=0;n<=i;n++){ sum=sum+n; } return sum; } } public class ArgumentException extends Exception { private int n; public ArgumentException(int n) { this.n = n; } public int getN(){ return n; } } public class test { public static void main(String[] args){ Add s = new Add(); try { System.out.println(s.addContinue(-1)); } catch (ArgumentException e) { System.out.println(e.getN()); } } }

JAVA实验报告-集合框架与泛型机制

Java 语言程序设计 C 实验报告 集合框架及泛型机制 学生姓名 专业、班级 指导教师 成绩 计算机与信息工程学院 年月日

一、实验目的 学习课程相关章节知识,通过上机练习,掌握以下知识: 1.掌握 List 接口下 ArrayList 及 LinkedList 的使用方法。 2.掌握 Map 接口下 HashMap 及 HashTable的使用方法 3.掌握集合中泛型的使用 二、实验内容 利用集合完成象数据库那样存储数据,并且可以简单查询,利用 map 存储学生信息,字段如下: id ,name,age,实现步骤: (1)创建类,类图如下: (2)在 main 方法编写逻辑代码 (3)运行程序并测试结果 package https://www.360docs.net/doc/586339939.html,; public class Student { private String name ; private int age ; private String id ;

public String getName() { return name ; } public void setName(String name ) { this . name =name ; } public int getAge() { return age ; } public void setAge(int age ) { this. age=age ; } public String getId() { return id; } public void setId(String id) { this. id=id; } public Student(String name ,int age , String id ) { super(); this. name =name ; this. age=age ; this. id=id; } public void sayHi() { System.out.println("name=" +this.getName()+"age=" + this .getAge()+" " + "id=" + this.getId()); } }

《Java面向对象程序设计》实验-实验八(输入输出流)

广西科技大学 计通学院 《Java面向对象程序设计》实验实验八输入输出流 学生姓名:××× 学号:××× 班级:××× 指导老师:××× 专业:计算机科学与技术 提交日期:×××年××月××日 实验报告内容 1.实验目的 掌握字符输入、输出流用法; 掌握使用Scanner类解析文件; 掌握Console流的使用。 2.实验内容 实验教材-第12章实验1、2、3 字符输入输出流;Scanner类与Console类。 要求:完善程序,给出实验结果截图; 完成试验后练习。 3.程序代码及运行结果: 实验1 举重成绩单 //AnalysisResult、java import java、io、*; import java、util、*;

public class AnalysisResult { public static void main(String[] args) { File("score、txt"); File("scoreAnalysis、txt"); try{ Writer out=new (fWrite); BufferedWriter bufferWrite=new BufferedWriter(out); Reader in=new (fRead); BufferedReader bufferRead=new BufferedReader(in); String str=null; while((str=bufferRead、 readLine())!=null){ double totalScore=Fenxi、getTotalScore(str); str=str+"总成绩:"+totalScore; System、out、println(str); bufferWrite、write(str); bufferWrite、newLine(); } bufferRead、close(); bufferWrite、close(); } catch(IOException e){ System、out、println(e、toString()); } } } //Fenxi、java import java、util、*;

实验三 Java异常处理

实验三Java异常处理 一、实验目的 1)掌握Java异常的概念及工作机制 2)掌握异常的分类 3)掌握抛出异常语句的使用(throw) 4)掌握抛出捕获处理异常语句的使用(try…catch…finally) 5)掌握上抛异常语句的使用(throws) 6)掌握创建自定义异常 二、实验内容 自定义一个异常类,求两个数的最大公约数。 三、实验步骤 1)声明一个类,继承与Exception,用来处理求公约数时被除数小于除数抛出异常。 2)声明一个方法来求公约数。 3)在主方法里通过控制台输入二个人数并把求公约数的方法写在try{}中,catch{}填写出现的自定义的异常及ArithmeticException 异常。 四、实现代码 import java.util.Scanner; class MyException extends Exception { int m,n;

public MyException(int m,int n) { this.m=m; this.n=n; } public void process() { System.out.println("被除数小于除数!"); } } public class divisor{ int m,n; public divisor(int m,int n) { this.m=m; this.n=n; } public int div() throws MyException { int tmp;

if(m

操作系统实验报告java

操作系统实验报告 院系: 专业: 班级: 学号: 姓名: 指导老师:

进程调度的模拟与内存管理 一、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就续进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。实验模拟实现处理机调度,以加深了解处理机调度的工作,并体会优先级和时间片轮转调度算法的具体实施方法。帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 二、实验要求 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度。 4、可随时增加进程; 5、规定道数,设置后备队列和挂起状态。若内存中进程少于规定道数,可 自动从后备队列调度一作业进入。被挂起进程入挂起队列,设置解挂功 能用于将指定挂起进程解挂入就绪队列。 6、每次调度后,显示各进程状态。

7、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目内容:起址、长度、状态(未分/空表目) 8、结合以上实验,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置, PCB指针} 9、采用最先适应算法分配主存空间; 10、进程完成后,回收主存,并与相邻空闲分区合并。 11、采用图形界面; 三、实验内容 选择一个调度算法,实现处理机调度。 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。 3、主存储器空间的分配和回收。在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收。 四、实验原理 该模拟系统采用java语言实现,要实现的功能有新建进程、进程调度、挂起进程、解挂进程、删除进程,道数和时间片大小可以由用户自己调整,有两种调度策略:按优先权调度和按时间片轮转调度。每个进程可能有5种状态:新建(new)、就绪(ready)、运行(running)、阻塞(waiting)、挂起(suspend)。每个状态都有一个队列用来存放处于该状态的进程,不同的调度策略采用不同的队列实现。当创建进程时,如果内存中的进程数还没达到规定道数,则将新建进程插入就绪

Java 实验八

实验八事件处理 学号201617406 姓名刘顺专业网络工程成绩 【实验目的与要求】 1、理解和掌握Java中事件处理模式; 2、理解和掌握Java中事件处理的流程和方法; 3、实验后及时总结、归纳、分析,并完成实验报告。 【实验内容与要求】 设计信息注册窗口,并完成组件的事件处理功能。 编程提示: 1)完成界面设计和实现; 2)单击“确定”按钮后,在“基本信息”文本域中显示选择的信息内 容。 3)给按钮添加事件监听,实现事件处理。 button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setText() // JTextArea的方法,设置文本域内容 append() // JTextArea的方法,文本域内容追加 getText() // 组件的方法,获取组件内容 isSelected() // JcheckBox的方法,复选框内容被选中 getSelectedItem() //JComboBox()的方法,获取选中项 } 【实验过程与结果】 import java.awt.Color; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import javax.swing.border.TitledBorder; public class Test8 { public static void main(String[] args) { //FlowLayout flow=new FlowLayout(); JFrame j=new JFrame("新用户注册"); //创建窗体 j.setVisible(true); //窗体可见

相关文档
最新文档