Java程序设计实验7
Java实验7抽象类和接口

实验6抽象类与接口一、实验目的:1、学习掌握抽象类的概念与使用方法。
2、学习掌握接口的概念与定义接口的方法。
3、学习使用Cloneable接口与clone方法进行对象内容的复制。
4、理解浅复制与深复制的概念,掌握覆盖clone方法进行对象内容深复制的技术。
二、实验任务:1、学习掌握抽象类的概念与使用方法。
程序要求:(1)首先创建一个类家族,其中抽象类几何图形类GeometricObject为父类,圆类Circle与矩形类Rectangle为子类。
几何图形类GeometricObject中定义保护型字符串变量color,表示图形的颜色;该类要具备构造方法与两个抽象方法findArea与findPerimeter,抽象方法findArea求图形面积,抽象方法findPerimeter求图形周长。
(2)Circle类与Rectangle类就是GeometricObject类的子类,其中应实现父类的抽象方法。
(3)程序主方法中创建两个几何对象,一个圆与一个矩形,并用GeometricObject类的引用变量引用它们,调用抽象方法。
2、学习接口的概念与利用接口实现多态的方法。
程序要求如下:(1)首先创建圆类Circle与圆柱体类Cylinder,其中Circle类就是父类,Cylinder类就是子类;(2)创建接口Comparable,其中包含一个抽象方法compareTo,用来比较对象的大小。
抽象方法compareTo的形式如下:public int compareTo(Object o);(3)创建类ComparableCircle,该类为Circle类的子类,并实现Comparable接口。
(4)创建类ComparableCylinder,该类为Cylinder类的子类,并实现Comparable接口。
(5)创建通用类Max,其中包含通用方法max,只要类实现了Comparable 接口,就可以使用max方法返回两个对象中较大的一个。
JAVA程序设计实验

实验1 JAVA基础一、实验目的1.掌握JA V A语言的各种数据类型2.熟悉运算符和表达式。
3.学会编写简单程序二、实验环境硬件:计算机软件:操作系统:windows98以上或LINUX、JDK 1.2以上三、实验内容:下面是一个简单的JA V A程序,将多种类型变量通过各种运算符组成不同的表达式,并将运算结果赋值给同类型的变量,使用println()方法输出各变量的值。
Public class ExampleTest(){Public static void main(String args[]){Int no=(11+20)*3/5; //A行System.out.println(“no=”+no);no++; //B行System.out.println(“no=”+no);Boolean bool=false; //C行bool=true&!bool; //D行System.out.println(“bool=”+bool);Byte bValue=0x10; //E行System.out.println(“bValue=”+bValue);Bool=(no>bValue); //F行System.out.println(“bool=”+bool);}}四、实验的主要步骤1.用edit录入以上程序内容并保存,注意文件名。
2.用javac.exe命令编译刚保存的JA V A文件。
3.如果编译通不过,用edit打开源代码进行修改。
重复第2步和第3步至到编译通过。
4.用java.exe运行编译生成的类文件。
5.查看运行结果。
实验2 JAVA流程控制一、实验目的1.掌握条件语句的使用。
2.熟悉循环语句的使用。
二、实验环境硬件:计算机软件:操作系统:windows98以上或LINUX、JDK 1.2以上。
三、实验内容1.求a+aa+aaa+…+a..a (n个)的和,其中a为1-9之间的整数。
Java实验7

实验7多线程程序设计一、实验目的:1、理解多线程程序运行的基本原理。
2、掌握多线程程序设计的基本方法。
3、学习多线程的同步机制,掌握利用同步机制访问共享资源的方法。
二、实验任务:1、编写一个GUI选号程序,在程序的主窗体中安排6个标签,每个标签上显示一个数字,每个数字都在0~9之间变化。
单击窗体上的“停止”按钮使所有数字停止变化。
2、编写一个学校向教师发放工资的应用程序。
学校负责向教师的工资帐户上发放工资,教师从各自的帐户上领取工资。
三、实验步骤:1、设计一个图形界面应用程序,在程序中首先创建一个标签类MyLabel,并使该类实现Runnable接口。
2、MyLabel类中包含两个数据成员:(1)整型数据成员value代表显示在标签上的数字;(2)布尔型数据成员stop,其初始值为false,当其值变为true时,标签上显示的数字停止变化。
3、创建一个框架窗体类ChooseNumber,并向其中添加6个MyLabel类的对象和一个按钮,为了能使6个标签上的数字在程序运行时不停地在0~9之间变化,需实现以下2步:(1)创建6个线程分别控制6个标签上的数字变化;(2)在MyLabel类的run方法中,使用Math类的random方法产生0~9之间的随机整数,并将其显示在标签上,然后使线程对象睡眠500毫秒,然后判断stop的值,如果stop的值为false,则重复上述过程直到其值为true时,退出次循环。
4、程序的参考代码如下:5、以下几步完成本次上机实验的第2个任务。
6、这是一个典型的线程同步问题,如果教师在工资未发放前提取,则应使其进入等待状态。
学校发放工资后会通知教师可以提取。
这里用到了阻塞线程的方法wait和唤醒被阻塞线程的方法notify。
7、程序中创建TeacherAccount类作为教师帐户类,SchoolBank类代表学校,而Teacher类代表教师。
SchoolBank类对象和Teacher类对象有一个共享的TeacherAccount类对象。
Java程序设计实验指导书(答案)

第Ⅰ部分:实验指导实验1:Java开发环境J2SE一、实验目的(1)学习从网络上下载并安装J2SE开发工具。
(2)学习编写简单的Java Application程序.(3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。
二、实验任务从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的Java Application程序,编译并运行这个程序。
三、实验内容1.安装J2SE开发工具Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java 2 SDK,可以从上进行下载。
安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:\j2sdk1.4.1_03目录下。
教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变量的设置方法。
2.安装J2SE源代码编辑工具Edit Plus教师通过大屏幕演示Edit Plus的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java 原程序的常用命令的用法。
3.编写并编译、运行一个Java Application程序。
创建一个名为HelloWorldApp的java Application程序,在屏幕上简单的显示一句话"老师,你好!"。
public class HelloWorldApp{public static void main(String[] args){System.out.println("老师,你好!");}}4.编译并运行下面的Java Application程序,写出运行结果。
1:public class MyClass {2:private int day;3:private int month;4:private int year;5:public MyClass() {6:day = 1;7:month = 1;8:year = 1900;9:}10:public MyClass(int d,int m,int y) {11:day = d;12:month = m;13:year = y;14:}15:public void display(){16:System.out.println(day + "-" + month + "-" + year);17:}18:public static void main(String args[ ]) {19:MyClass m1 = new MyClass();20:MyClass m2 = new MyClass(25,12,2001);21:m1.display();22:m2.display();23:}24:}运行结果:1-1-190025-12-2001实验2:Java基本数据类型一、实验目的(1)掌握javadoc文档化工具的使用方法。
Java语言程序设计-实验7

1.创建用户界面,一个文本框与两个按钮,“运行”、“停止”。
1)创建线程,运行时显示线程名,随机睡眠0-100ms。
2)文本框输入线程名,点击“运行”时,运行指定线程。
3)点击“停止”时,停止所有线程。
4)(附加题)再添加一个按钮,点击时停止与文本框相符的线程。
2.创建用户界面,一个文本区域、一个文本框与两个按钮,“保存”、“读取”。
1)用Scanner输入布局方式,指定两种不同的布局。
2)文本区域输入文字,文本框输入文件名。
3)点击“保存”时,将文本区域的文字保存到文本框指定文件。
4)点击“读取”时,读取与文本框相符的文件,将内容显示到文本区域。
Tips: 文本框、文本区域等用静态声明,监听、线程等其他类访问时会较为方便。
java程序设计实验报告

12.使用Vector保存自定义对象
三、算法设计(包括:界面设计截图、程序代码截图和运行结果截图等)
1
2
3
4
5
6
7
8
9
10
11
12.
四、实验总结:
通过本次实验了解Java编程的基础,加深对java基础编程的了解,以及对java编程思想有一定的认识。
【JAVA语言程序设计】实验报告
班级:13计本2学号:姓名:
实验一基本数据类型及输入输出
实验类型
设计
实验日期
2015.4.21
实验地点
2S—公共机房二
实验时间(星期节次)
星期二5-6节
指教师
王伯槐
成绩
一、实验目的及要求:
要求学生完成第七章例子代码的输入、调试和运行。通过上机掌握JAVA程序的编辑、编译、调试过程;通过上机掌握JAVA基本语句的用法和语法。
二、实验题目:
1.显示Applet的生命周期
2.Applet参数传递
3.通过参数给Applet传递字号,颜色
4.字符串构造函数
5.键盘输入字符,显示在屏幕
6.将文件中的内容传送到指定的缓冲区,并在屏幕上显示
7.有选择的读写文件
8.数据输出流与文件输出流一起的程序
9.获取本地日期
10.使用Random类的对象产生随机数
JAVA实验7

浙江经贸职业技术学院实训报告系部______________ 班级____________ 姓名____________ 学号_______________日期______________ 地点____________ 指导教师_____________ 成绩实验七JAVA 面向对象编程(3)【实验目的】1.掌握JAVA语言类的定义和使用。
2.掌握JAVA语言对象的声明和使用。
3.掌握JAVA语言构造方法的概念和使用。
4.掌握类及其成员的访问控制符的区别和使用。
【预习内容】1. JAVA 类的定义格式;2.JAVA对象的使用三步骤:声明、创建以及初始化;3.访问控制修饰符:public、private和protected的功能和区别;4.JAVA构造方法的概念和特点;5.JAVA多态的概念,及重载和覆盖的区别;【实验内容及步骤】1.上机验证题1.阅读下面的程序,在main()方法里添加语句完成如下功能:(1)创建一个MyValue类的对象myValue.(2)为myValue对象中的value域赋值10。
(3)使用getVaule()方法获得myValue对象中的数据并将它打印在屏幕上。
class MyValue {private int value;public void setValue(int x) {value = x;}public int getValue() {return value;}}public class UseValue {public static void main(String args[]) {MyValue myvalue = new MyValue();myvalue.setValue(10);System.out.println(myvalue.getValue());}}[程序运行过程]2.(1)程序功能:通过LX7_1_P类产生子类LX7_2,其不仅具有父类的成员变量xm(姓名)、xh(学号),还定义了新成员变量xy(学院)、xi(系)。
《Java程序设计》课程实验指导书

实验一 Java开发环境的安装与配置,熟悉Java程序结构一、实验目的:1. 掌握JDK的安装步骤。
2. 理解环境变量PATH, CLASSPATH的作用,以及它们的设置方法。
3. 熟悉Editplus(或TextPad,JCreator)编辑环境,编写简单的Application程序和Applet程序,并编译和执行。
二、实验内容:熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序和Applet程序(能输出一条简单的问候信息);三、实验要求:1. 能正确地安装JDK2. 熟悉环境变量PATH, CLASSPATH设置方法,熟悉编辑环境3. 调试程序、编译,运行后得到正确的结果4. 写出实验报告,要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。
四、实验步骤:1.从上下载最新版本的JDK,并安装。
2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。
3.在Editplus(或JCreator ,Textpad)环境下编写一个HelloWorld.jav a程序,(1)在主方法static public void main(String[ ] args)中调用System.out.println()方法,使程序输出一条问候信息;(2) 编译运行程序,观察运行情况和输出结果。
(使用JDK环境,调用javac.exe和java.exe编译和执行程序)4.在Editplus(或JCreator ,Textpad)环境下编写一个HelloWorldApplet.java程序。
(1)在public void paint(Graphics g)方法中调用g.drawString()方法,使程序输出一条问候信息;(2) 编译运行程序,观察运行情况和输出结果。
(使用JDK环境,调用javac.exe编译和浏览器解释执行Applet程序)实验二 Java语言基础一、实验目的:熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
packagepack1;
importjava.io.*;
publicclassTest1{
publicstaticvoidmain(String[] args)throwsIOException{
packagepack2;
importjava.io.*;
publicclassTest{
publicstaticvoidmain(String[] args)throwsIOException{
floatall=0,ava;
BufferedWriter buff =newBufferedWriter(newFileWriter("c:\\student.txt"));
System.out.println("请输入一串字符串:");
String str=buf.readLine();
inti,j;
for(i=0;i<str.length();i++){
if(str.charAt(i)==' '){
for(j=i+1;j<str.length();j++){
if(str.charAt(j)!=' '){
// System.out.println("支出日期为:");
// String date=buf1.readLine();
// System.out.println("支出金额为:");
// Stringnum=buf2.readLine();
// System.out.println("支出原因为:");
BufferedReader c =newBufferedReader (newInputStreamReader(System.in));
System.out.println("第"+i+"位学生:");
System.out.println("姓名:");
String name=a.readLine();
System.out.println("总分为:"+all);
System.out.println("平均分为:"+ava);
Student stu1;Student stu2;Student stu3;
try{
FileInputStream fis=newFileInputStream("D:\\student.txt");
System.out.println("学号:");
String num=b.readLine();
System.out.println("java课成绩:");
String grade=c.readLine();
all=all+Float.parseFloat(grade);
buff.write("第"+i+"位学生:"+"姓名:"+name+"学号:"+num+"java课成绩:"+grade+" ");
oos.writeObject(s2);
Student s3=newStudent("王五",12,91);
writeObject(s3);
all=s1.score+s2.score+s3.score;
ava=all/3;
System.out.println("姓名:"++" "+"学号:"+s1.num+" "+"java课成绩:"+" "+s1.score);
ObjectOutputStream oos=newObjectOutputStream(fos);
floatall=0,ava;
Student s1=newStudent("张三",10,95);
oos.writeObject(s1);
Student s2=newStudent("李四",11,100);
《Java程序设计》实验报告
实验序号:实验7实验项目名称:数据流操作
教师成绩等级评定
一、实验目的
通过实验,掌握输入输出流的概念和基本类层次结构,掌握主要字节流的定义和使用,掌握主要字符流的定义和使用,掌握文件管理以及文件操作的基本方法,了解对象序列化的概念和实现方法,了解其他常用流的定义和使用
二、实验内容
System.out.println("姓名:"++" "+"学号:"+s2.num+" "+"java课成绩:"+" "+s2.score);
System.out.println("姓名:"++" "+"学号:"+s3.num+" "+"java课成绩:"+" "+s3.score);
// String re=buf3.readLine();
// System.out.println("日期:" +date);
// System.out.println("金额:" +num);
// System.out.println("原因:" +re);
// buff.write("日期:"+date);
1、文件顺序访问实例。
2、文件随机访问实例。
3、对象序列化实例。
三、实验步骤
1、(顺序访问文件编程)读入一段英文短文,将此短文中连续的两个或多个空格删除,只保留一个空格,通过这样来规范英文短文的格式,并将修改后的短文使用字节流方式输出到控制台(屏幕)和一个文本文件中。
packagepack1;
importjava.io.*;
ObjectInputStream ois=newObjectInputStream(fis);
stu1=(Student) ois.readObject();
stu2=(Student) ois.readObject();
stu3=(Student) ois.readObject();
float[] a={stu1.score,stu2.score,stu3.score};
// buff.newLine();
// buff.write("金额:"+num);
//buff.newLine();
// buff.write("原因:"+re);
//buff.newLine();
// buff.close();
BufferedReader in =newBufferedReader(newFileReader("c:\\haha.txt"));
buff.newLine();
}
ava=all/3;
System.out.println("总分为:"+all);
System.out.println("平均分为:"+ava);
buff.close();
}
}
B、从文件student.txt中读取保存的学生的基本数据,将Java课的成绩排序,将排序后的结果保存到文件studentsorted.txt中,并将排序后的结果输出到控制台(屏幕)。
// BufferedReader buf3 = new BufferedReader (new InputStreamReader(System.in));
// BufferedWriter buff = new BufferedWriter(new FileWriter("c:\\haha.txt"));
packagepack2;
importjava.io.*;
importjava.util.Arrays;
publicclassTest{
publicstaticvoidmain(String[] args)throwsIOException{
FileOutputStream fos=newFileOutputStream("D:\\student.txt");
// BufferedReader buf1 = new BufferedReader (new InputStreamReader(System.in));
// BufferedReader buf2 = new BufferedReader (new InputStreamReader(System.in));
System.out.print(" ");
break;
}
i=j;
}
}
elseSystem.out.print(str.charAt(i));