合肥学院java试验四
合工大自考实践考试java实验报告
Java程序设计实验报告专业计算机及应用上机卡号姓名指导老师实验一 Java开发环境的安装与配置(一)实验目的1.通过本次实验,掌握JDK的安装步骤,理解环境变量PATH,CLASSPATH的作用,以及它们的设置方法。
2.熟悉TextPad(或JCreater) 编辑环境,编写简单的Application程序,并编译和解释执行。
3.掌握JA V A中包的概念,以及包与包的引用关系。
4.记录编译和执行JA V A程序当中的系统错误信息提示,并给出解决办法。
5.选择一种主流的JA V A开发工具(如NETBEANS)进行安装和初步使用。
(二)实验内容1.设置环境变量PATH,CLASSPATH,使得JA V A程序能正确编译和执行。
设置环境变量PATH:设置环境变量CLASSPATH:2.在Texpad(Jcreater)环境下编写一个HelloWorld.java程序,在DOS提示符下编译并执行程序。
HelloWorld.java程序的代码:public class HelloWorld{public static void main(String []args){System.out.println("Hello Java");}}运行结果:3.编写一个类A,它位于包a,保存到A.java中。
再编写一个类B,它位于包b 中,保存到B.java中。
在类B中实例化类A的一个对象。
分别编译类A和类B。
程序代码:package a;public class A {public A(){System.out.println("在类B中实例化类A成功");}}package b;import a.*;class B {public static void main(String []args){A text=new A();}}运行结果:实验总结通过本次试验,掌握了环境变量的作用和设置,熟悉了java中包及包的应用关系。
java实验报告1(程序设计基础)
2012—2013学年第 1 学期合肥学院数理系实验报告课程名称:《面向对象程序设计》实验项目:程序设计基础实验类别:综合性□设计性□验证性√专业班级:10信息与计算科学班姓名:学号:实验地点:校内机房实验时间:2012.10.22 —2012.10.28指导教师:钱泽强成绩:一、实验目的熟悉Java的编程环境;通过编程掌握Java程序的调试;提高学生的分析问题、解决问题的能力;理解Java语言的基本结构和程序设计方法。
二、实验内容1、安装并配置JDK,使用Eclipse创建Java程序,并调试运行;2、了解 Java Application应用程序和Java Applet程序;3、通过编程掌握Java的基本,并提高分析问题和解决问题的能力。
三、实验方案(程序设计说明)[题目1] 安装Eclipse并配置JDK。
[题目2] 使用Eclipse创建Application程序,并调试运行。
public class test1 {public static void main(String []args){ System.out.println("hello"); }}[题目3] 在Eclipse中创建Applet程序并调试运行。
import java.awt.*;import java.applet.*;public class test2 extends Applet {public void paint(Graphics g){ g.drawString("hello",20,20);}}[题目4] 掌握输入和输出,编写程序求任意两个实型数据的和。
[题目5] 掌握数组的使用,编写程序求一组整型数据的最大值。
四、实验程序和运行结果请附页记录正确的源程序五、实验总结六、教师评语及成绩【题目4】参考答案import java.util.Scanner;public class test3 {public static void main(String[] args) {Scanner s=new Scanner(System.in);double t1=s.nextDouble();double t2=s.nextDouble();System.out.print(t1+t2); }}【题目5】参考答案import java.util.Scanner;public class test {static void ShowArray(int a[]){ for(int i=0; i<a.length; i++)System.out.print(a[i]+" "); }static void InputData(int a[],int n){ Scanner s=new Scanner(System.in);System.out.print("Input "+n+" Integer number:"); for(int i=0; i<a.length; i++)a[i]=s.nextInt();s.close(); }static int FindMax(int a[],int n) {int i,max;max=a[0];for(i=1; i<a.length; i++)if (a[i]>max) max=a[i];return max; }public static void main(String[] args) {Scanner s=new Scanner(System.in);System.out.print("Input n:");int n=s.nextInt();int a[]=new int[n];InputData(a,n);int m=FindMax(a,n);ShowArray(a);System.out.print("max="+m);s.close();}}。
大学软件工程专业Java实验报告书
Java实验报告书专业班级软件工程XXX班学号XXXXXXX姓名XXX指导教师XXXXXXX大学计算机科学与技术学院目录实验一、安装JDK并熟悉java的运行环境实验二、基本语法练习实验三、面向对象编程实验(4)实验四、异常处理实验实验五、小应用程序实验实验六、图形图像实验实验七、GUI(图形用户接口)实验(4)实验八、多线程实验实验九、输入输出流实验(4)实验十、数据库应用实验(4)实验一、安装JDK并熟悉java的运行环境一、实验目的熟悉JA V A的运行环境及学习简单的编程。
二、预习内容安装工具软件的基本方法。
三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容安装Eclipse及JA V A的核心编译程序J2SDK。
1、打开Eclipse的安装盘安装Eclipse。
2、在相同目录下安装J2SDK。
3、打开Eclipse软件对J2SDK文件进行配置。
4、编写一应用程序,在屏幕上显示“HELLO WORLD”。
Pulic class Hello{public static void main(String args[]){System.out.println(“HELLO WORLD”);//在屏幕上显示“HELLO WORLD”和爱心标志}}5、编写一小程序实现上述功能:在屏幕上显示爱心标志。
public class HELLO {public static void main(String args[]){System.out.println(" HELLO WORLD!");System.out.println(" *** *** ");System.out.println(" * * * * ");System.out.println(" * * * * ");System.out.println(" * * * ");System.out.println(" * * ");System.out.println(" * * ");System.out.println(" * * ");System.out.println(" * * ");System.out.println(" * * ");System.out.println(" ** ");}}实验结果五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、说明本次实验建议学时数2学时七、实验总结与体会实验二、基本语法练习一、实验目的⒈熟悉Java的基本语法⒉编写应用程序接收命令行参数⒊编写应用程序接收用户从键盘的输入⒋掌握字符串与数组的基本方法二、预习内容java编程的基本结构三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。
java语言程序设计形考任务4课程实验
Java语言程序设计形考任务4课程实验1. 实验介绍Java语言程序设计作为一门重要的编程语言,在计算机科学和软件工程领域拥有广泛的应用。
形考任务4课程实验旨在帮助学生加深对Java语言程序设计的理解,并提升他们的编程能力。
本实验将涉及Java语言的基本语法、面向对象编程、异常处理、图形用户界面等方面的知识,帮助学生全面掌握Java编程的基本技能。
2. 实验内容任务4课程实验的内容包括但不限于以下几个方面:2.1 面向对象编程在本实验中,学生将学习如何利用Java语言实现面向对象编程。
他们需要掌握类与对象的概念,了解封装、继承和多态等面向对象的基本特性。
通过实践,他们将能够设计和实现自定义的类和对象,提高代码的复用性和可维护性。
2.2 异常处理异常处理是Java语言中的重要内容之一。
在本实验中,学生将学习如何使用try-catch-finally语句块来捕获和处理程序中的异常。
他们需要了解异常的类型和层次结构,掌握如何编写自定义异常类,并能够有效地处理各种可能出现的异常情况。
2.3 图形用户界面图形用户界面是现代软件开发中不可或缺的一部分。
学生将学习如何利用Java的Swing组件来设计和实现图形用户界面。
他们需要掌握窗口、面板、按钮、文本框等组件的基本用法,以及布局管理器、事件处理等相关知识。
通过本实验,他们将能够开发简单但功能完善的GUI应用程序。
3. 实验意义形考任务4课程实验对于学生而言具有重要的意义。
通过实践操作,学生将能够加深对Java语言程序设计相关知识的理解,提升编程能力和解决问题的能力。
本实验还能够培养学生的团队合作精神和创新意识,让他们在实践中学会思考和探索。
形考任务4课程实验将为学生的今后的学习和工作打下坚实的基础,为他们未来的发展铺平道路。
4. 个人观点作为Java语言程序设计形考任务4课程实验的文章写手,我深知这个实验对学生的重要性。
在撰写本文的过程中,我着重强调了实验的内容、意义和个人观点,希望能够帮助学生更好地理解并掌握Java语言程序设计的相关知识。
合工大java实验报告-04
答:错误的类型转换、数组越界访问和试图访问空指针。我在程序中遇到了最后一种。
五、实验结论、分析、思考题与心得体会
本次试验,花费了我一天的时间,虽然不能说全是自己做的,但是自己还是误就是在一个字符串的符号上。我将str1写成了str,这两个不是代表同一个字符串,结果在客户端始终输不出服务器端的字符串,这让我弄了好久好久。
3.服务器端在本地建立一个文本文件存储与客户端互传字符串的记录。
4.若服务器端可以同时连接多个不同的客户端该怎么设计?
答:设计为多线程,运用thread类,run函数。
三、使用硬件、软件环境
PC计算机一台,配置为CPU为1.5G,内存为512M,硬盘为40G,安装WindowsXP操作系统。
另外,使用JCreator,JDK1.6.0等软件
2.掌握Socket类、ServerSocket类、InputStreamReader类、File类和BufferedReader等系统类的使用方法。
3.掌握线程处理的方法。
二.实验内容
1.在服务器端通过指定一个用来等待的连接的端口号创建一个ServerSocket实例。
2.在客户端通过规定一个主机和端口号创建一个Socket实例,连到服务器上。
(提示:搜寻“计算机网络协议”方面的材料)
答:都有,只是TCP/IP比较主流,TCP是Internet的基础和核心,一种面向连接的保证可靠传输的协议,得到的是一个顺序无差错的数据流优点是在通信前要建立连接,所以安全、可靠。缺点是要等待对方回应,速度较慢。而UDP/IP是从一台计算机向另一台计算机发送称为数据报的独立数据包的协议,该协议并不保证数据报是否能正确地到达目的地。它是一个非面向连接的协议。UDP不需要建立连接,所以速度较快。不能保证传送的数据包按顺序到达,因此安全性较差。QQ等IM软件,一般均采用UDP协议。
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第四次实验报告
this.year = year;
this.day = day;
}
public void ChangeToDate(Date1 date) {
String Month[] =
{
"January","Februry","March", "April", "May","June",
{"drove","jumped","ran","walked","skiped"},
{"to","from","over","'under","on"},
{"the","a","one","some","any"},
{"boy","girl","dog","town","car"} };
TextArea output;
Button m;
int b,c;
public void init() {
output=new TextArea(25,50);
m=new Button("开始");
add(output);
add(m);
}
public boolean action(Event e,Object o){
output.setText ("");
《Java程序设计》上机实验报告 实验四 异常类的定义及处理
信息科学与工程学院《Java程序设计》上机实验报告专业班级姓名学号实验时间指导教师成绩test3[1]=100;} catch (NullPointerException e) {主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)2.编写程序实现如下功能:计算两个数之和,参与求和运算的每个数的值都必须在10-20之间,当任意一个数超出范围时,抛出自己的异常。
1)实验源程序:public class SelfException{public static void selfExceptionTest(int a,int b) throws NumberRangeException{int answer;if(( a>10& b <20)&( a>10& b<20)){ answer=a+b;System.out.println("两数之和为:"+answer);}e lsethrow new NumberRangeException("错误");}public void manager(){try{selfExceptionTest(55,100);}catch(NumberRangeException e){System.out.println("输入数值超出范围,应该为10-20之间的整数");}}public static void main(String args[]){SelfException s=new SelfException();s.manager();}}class NumberRangeException extends Exception{public NumberRangeException(String message){super(message);}}2)调试结果:public static void main(String[] args) throws MyException{ String s="";BufferedReaderin=new BufferedReader(new InputStreamReader(System.in));System.out.print("请输入各边边长");try {s=in.readLine();} catch (IOException e1) {e1.printStackTrace();}int i;double[] a=new double[3];StringTokenizer st=new StringTokenizer(s);for(i=0;i<3&&st.hasMoreTokens();i++){a[i]=Double.parseDouble(st.nextToken());}try{Area n=new Area();n.test(i,a);}catch(MyException e){System.out.println("输入错误参数");}}}2)调试结果:。
合工大Java实验报告
实验报告课程名称:Java技术学生:学号:专业班级:指导教师:年月日实验一Java开发环境的安装与配置四、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等)1.从.oracle./technetwork/java下载最新版本的JDK,并安装。
(或者用已有文件安装)安装过程:安装Jdk集成环境,安装成功后,配置path,classpath路径,让用户在任何目录下均可用到Java的系统资源①先配置%JA V A_HOME%环境变量,路径为jdk的目录;②配置path环境变量,路径为%JA V A_HOME%\bin;③再配置classpath环境变量路径为;%JA V A_HOME%\lib;%JA V A_HOME%\lib\tools.jar2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。
3.在Textpad(JCreator或Eclipse)环境下编写一个HelloWorld.java程序,在DOS提示符下编译并执行这个程序。
实验过程:在Notepad++中写出如下代码,并保存为HelloWorld.java:源代码:public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World!");}}在命令行中进入到该文件路径,并输入javac HelloWorld.java完成编译,再输入java HelloWorld完成运行运行结果:4.编写一个类A,它位于包a中,保存到A.java中,再编写一个类B,它位于包b中,保存到B.java中。
在类B中实例化类A的一个对象。
分别编译类A和类B。
实验过程:用Eclipse编写包 a 包 b 的程序,并用DOS 命令行运行。
源代码:A:package a;public class A {public void OUT() {System.out.println("this is a!");}}B:package b;import a.*;public class B {public static void main(String[] args) {A a = new A();a.OUT();}}运行结果:五、实验结论、分析、思考题与心得体会心得体会通过本次实验,我对于Java的一些基本知识有所了解,下面我将进行总结:1.我学习了如何安装JDK,以及配置JA V A环境2.我学习了使用Notepad++记事本环境下编写Java程序,并使用命令行来编译执行程序3.我学会了在Eclipse环境下编写与运行Java程序。
《Java程序设计》课程实验指导书2
《Java程序设计》课程实验指导书2《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.从/doc/9ac8d1619b6648d7c1c74618.html 上下载最新版本的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) 编译运⾏程序,观察运⾏情况和输出结果。
Java实验四报告
一、实验目的1.掌握Java语言中继承和多态的相关概念2.掌握Java程序设计中继承和多态机制的使用3.掌握Java语言中接口和包的概念及使用。
二、实验内容1.题目:1.继承多态综合练习1(1)建立一个Java抽象类Drink,应当:①声明一个抽象方法taste(),该方法负责输出饮料的味道;②声明int型常量来代表不同的饮料类型(咖啡、啤酒、牛奶),如:③声明静态方法getDrink(int drinkType),根据传入的参数创建不同的饮料对象,并返回该对象,建议使用switch语句。
(2)建立Drink的子类:①分别建立Drink的子类:Coffee(咖啡类),Beer(啤酒类),Milk(牛奶类);②实现taste()方法,要求在控制台打印各自的味道特征。
(3)建立Test测试类,测试以上内容的正确性①编写main方法,输入要新建的饮料类型。
②调用Drink类的getDrink方法,获得相应的饮料对象。
然后调用该饮料对象的taste()方法,输出该饮料的味道。
②编译程序,并运行。
要求:测试类放在包名为com.sy4.exe02.test包中,其它类放在com.sy4.exa02包中。
(知识点:类的定义,抽象类,继承,多态)2.继承多态综合应用练习2(1)定义一个抽象的People类,有姓名(name),年龄(age),性别(sex)等成员变量,要求成员变量的访问修饰符为private,通过getXxx()和setXxx()方法对各变量进行读写。
声明具有一个抽象的role()方法,该方法不返回任何值,用于输出人的身份类型,同时至少定义两个构造方法。
(2)定义一个抽象类Employee类,该类继承People类,该类具有People类的所有成员,并新增雇员底薪薪水(salary)和职工编号(empid)成员变量。
同样要有至少两个构造方法,要体现出this和super的几种用法。
声明具有一个抽象的getSalary()方法,该方法返回float 值,用于返回员工薪水。
Java实验报告4
(3)如果将B.java去掉import语句,并在使用包中的类时带上完整的路径,运行时结果正确。
(4)把A.java程序的相关部分作如下修改进行测试,编译运行。
System.out.println("从类A中访问Clock hour="+c.hour);
System.out.println("从类A中访问Clock minute="+c.minute);
System.out.println("从类A中访问Clock second="+c.second);
·ClassNotFoundException:具有指定名字的类或接口没有被发现。
·CloneNotSupportedException:克隆一个没有实现Cloneable接口的类。
·IllegalAccessException:试图用给出了完整的路径信息的字符串加载一个类,但是当前正在执行的方法无法访问指定类,因为该类不是public类型或在另一个包中。
int n,a;String x;
BufferedReader keyin=
new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter an integer");
x=keyin.readLine();
n=Integer.parseInt(x);
1304031031-夏婷婷-Java实验报告四
计算机科学与技术系实验报告专业名称 13级网络工程课程名称 Java语言基础项目名称面向对象程序设计班级 13级网工(1)班学号 1304031031姓名夏婷婷同组人员实验日期一、实验目的与要求:(简述本次实验要求达到的目的,涉及到的相关知识点,实验的具体要求。
)1.掌握类得封装与对象的使用。
2.掌握构造方法的使用,方法重载用于多态。
3.掌握类的继承,方法重构与变量的隐藏。
4.熟悉访问控制符的作用。
二、实验内容(根据本次实验项目的具体任务和要求,完成相关内容,可包括:实验目的、算法原理、实验仪器、设备选型及连线图、算法描述或流程图、源代码、实验运行步骤、关键技术分析、测试数据与实验结果、其他)1.在EX4_1.java文件中定义两个类。
一个是CCircle,另一个是主类EX4_1。
Class CCircle{ double pi;double radius;double getRadius(){ return radius;}Void setCircle(double r, double p){ pi=p;radius=r;}Double getCircleArea(){ return pi*radius*radius;}}public class EX4_1{ public static void main(String args[]){ CCircle cir1=new CCircle();cir1.setCircle(2.0,3.1416);System.out.println("园半径="+cir1.getRadius());System.out.println("园面积="+cir1.getCircleArea());cir1.pi=3.14159;cir1.radius=10.0;System.out.println("园半径="+cir1.getRadius());System.out.println("园面积="+cir1.getCircleArea());}}2,下面是一个具有继承的程序RectangleDemo.java。
JAVA程序设计基础实验四
实验报告四一【实验目的】(1)理解异常和异常处理的概念(2)理解异常处理机制二【实验内容】【项目一】理解异常处理机制1.编写以下程序,并编译运行3.使用try{}catch{}final{}结构,捕获并处理异常,在final里中打印输出:public class Ex7_1{public static void main(String[] args){try{String output[]={"The","quick","brown","fox","jumps","over","the","lazy","dog."};int i=0;while(i<12){System.out.print(output[i++]);}}catch(Exception e){System.out.print("haha...");}finally{System.out.println("不管怎样都要执行的语句!");}}}【项目二】完成实验指导书——5.2.4 异常处理(1)程序代码class NoLowerLetter extends Exception{public void print(){System.out.printf("%c",'#');}}class NoDigit extends Exception{public void print(){System.out.printf("%c",'*');}}class People{void printLetter(char c) throws NoLowerLetter{if(c<'a'||c>'z'){NoLowerLetter noLowerLetter=new NoLowerLetter(); throw noLowerLetter;}else{System.out.print(c);}}void printDigit(char c) throws NoDigit{if(c<'1'||c>'9'){NoDigit noDigit=new NoDigit();throw noDigit;}else{System.out.print(c);}}}public class ExceptionExample{public static void main (String args[]){People people=new People();for(int i=0;i<128;i++){try{people.printLetter((char)i);}catch(NoLowerLetter e){e.print();}}for(int i=0;i<128;i++){try{people.printDigit((char)i);}catch(NoDigit e){e.print();}}}}(2)运行结果【项目三】使用Thread创建线程,要求及部分源码见附件/线程/1~6.jpgclass Tortoise extends Thread{int sleepTime=0,liveLength=0;Tortoise(int sleepTime,String name,int liveLength){this.sleepTime=sleepTime;this.liveLength=liveLength;setName("乌龟");}public void run(){while(true){liveLength--;System.out.printf("@");try{Thread.sleep(80);}catch(InterruptedException e){}if(liveLength<=0){System.out.printf(getName()+"进入死亡状态\n");return;//结束run()方法的语句;}}}}class Rabbit extends Thread{int sleepTime=0,liveLength;Rabbit(int sleepTime,String name,int liveLength){this.sleepTime=sleepTime;this.liveLength=liveLength;setName("兔子");}public void run(){while(true){liveLength--;System.out.printf("*");try{Thread.sleep(50);}//让线程调用sleep()方法进入中断状态,sleepTime 毫秒后线程重新排队,等待CUP资源;catch(InterruptedException e){}if(liveLength<=0){System.out.printf(getName()+"进入死亡状态\n");return;//结束run()方法的语句;}}}}public class ThreadExample{public static void main(String args[]){String s1="兔子",s2="乌龟";Rabbit rabit;rabit=new Rabbit(50,s1,50);//新建线程rabit;Tortoise tortoise;tortoise=new T ortoise(20,s2,70);//新建线程tortoise;rabit.start();//启动线程tortoisetortoise.start();//启动线程rabit;}}【项目四】使用Rannable接口创建线程class Bank implements Runnable{private int money=100;Thread zhang,keven;Bank(){String s1="会计",s2="出纳";zhang=new Thread(this);zhang.setName(s1);keven=new Thread(this);keven.setName(s2);}public void run(){int i=0;//声明一个int类型变量i,初值为0;while(true){if(Thread.currentThread().getName().equals("会计")){ i=i+1;money=money+1;System.out.printf("%s将money的值改为%d\t",zhang.getName(),money);System.out.printf("%s的局部变量i=%d\n",zhang.getName(),i);if(i>=6){System.out.printf("%s线程进入死亡状态\n",zhang.getName());return;}try{Thread.sleep(1000);}catch(InterruptedException e){}}else if(Thread.currentThread().getName().equals("出纳")){i=i-1;money=money-1;System.out.printf("\n%s将money的值改为%d\t",keven.getName(),money);System.out.printf("%s的局部变量i=%d\n",keven.getName(),i);if(i<=-6){System.out.printf("%s线程进入死亡状态\n",keven.getName());return;}try{Thread.sleep(1000);}catch(InterruptedException e){}}}}}public class BankExample{public static void main(String args[]){Bank bank=new Bank();bank.zhang.start();bank.keven.start();}}三【实验小结】本次实验是这么课程的第四次实验,通过前几次的实验让我对Java的学习有了更深一步的了解,这次实验主要练习的是线程和异常,仍然主要是利用了类的创建,在做实验的过程中,第一步编译的时候还是会出现许多错误,根据错误的地方提示再一步一步的进行修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》实验报告
合肥院学院计算机科学与技术系
实验名称实验四 java继承与多态
_________________日期_________________
六、源代码及运行结果
实验1:
import java.util.*;
import ng.Math;
class Point2D
{
int X, Y;
public Point2D()
{
//无形参的构造方法,一定要有
}
public Point2D(int x,int y)
{
this.X=x;
this.Y=y;
}
public void offset(int a, int b)//2D平移方法{
this.X+=a;
this.Y+=b;
}
public void printInfo()
{
System.out.println("X= "+this.X+"\nY= "+this.Y);
}
public void distance(Point2D p)
{
double DT=1;
DT*=(this.X-p.X)*(this.X-p.X)+(this.Y-p.Y)*(this.Y-p.Y);
System.out.println("2D 距离:"+Math.sqrt(DT));
}
}
class Point3D extends Point2D
{
int Z;
public Point3D()
{
//无形参的构造方法,一定要有
}
public Point3D(int x,int y,int z)
{
this.X=x;
this.Y=y;
this.Z=z;
}
Point3D(Point2D p,int z)
{
this.X=p.X;
this.Y=p.Y;
this.Z=z;
}
public void offset(int a, int b,int c)//3D平移方法{
this.X+=a;
this.Y+=b;
this.Z+=c;
}
public void printInfo()
{
System.out.println("X= "+this.X+"\nY= "+this.Y+"\nZ= "+this.Z);
}
public void distance(Point3D p)
{
double DT=1;
T*=(this.X-p.X)*(this.X-p.X)+(this.Y-p.Y)*(this.Y-p.Y)+(this.Z-p.Z)*(this.Z-p.Z);
System.out.println("3D 距离:"+Math.sqrt(T));
}
}
public class Alex
{
public static void main(String args[])
{
System.out.print("*****录入信息*****\n");
Scanner cin = new Scanner(System.in);
int x[]=new int[2];
int y[]=new int[2];
int z[]=new int[2];
for(int i=1;i<3;i++)
{
System.out.print("录入第 "+ i +" 个 2D 平面坐标\n 输入横坐标X:");
x[i-1]=cin.nextInt();
System.out.print(" 输入纵坐标Y:");
y[i-1]=cin.nextInt();
}
Point2D p1=new Point2D(x[0],y[0]);
Point2D p2=new Point2D(x[1],y[1]);
p1.printInfo();
p2.printInfo();
System.out.println("现在将 2D 平面图,3D 化,请给出竖坐标Z的值");
for(int i=1;i<3;i++)
{
System.out.print("录入第 "+ i +" 个 3D 平面坐标\n 输入竖坐标Z:");
z[i-1]=cin.nextInt();
}
Point3D p1=new Point3D(_2Dp1,z[0]);
Point3D p2=new Point3D(_2Dp2,z[1]);
p1.printInfo();
p2.printInfo();
System.out.println("平移 2D 图形:");
for(int i=1;i<3;i++)
{
System.out.print("录入第 "+ i +" 个 2D 图形的平移量\n 输入横坐标X的平移量:");
x[i-1]=cin.nextInt();
System.out.print(" 输入纵坐标Y的平移量:");
y[i-1]=cin.nextInt();
}
p1.offset(x[0], y[0]);
p2.offset(x[1], y[1]);
p1.printInfo();
p2.printInfo();
for(int i=1;i<3;i++)
{
System.out.print("录入第 "+ i +" 个 3D 图形的平移量\n 输入竖坐标Z的平移量:");
z[i-1]=cin.nextInt();
}
p1.offset(x[0],y[0],z[0]);
p2.offset(x[1],y[1],z[1]);
p1.printInfo();
p2.printInfo();
p1.distance(_2Dp2);
p1.distance(_3Dp2);
}
}
注:报告内容不得雷同,否则视为抄袭,无成绩。