java实验报告4

合集下载

java实验报告总结_java总结范文

java实验报告总结_java总结范文

java实验报告总结_java总结范文Java是一种功能强大的编程语言,近年来随着互联网的迅速发展,Java已经成为软件行业的主流开发语言。

本次实验旨在帮助学生熟悉Java的基本语法和算法,加强学生对Java的理解和应用能力。

实验工具本次实验使用的开发环境是Eclipse + JDK1.8,Eclipse是开源的Java集成开发环境,JDK1.8是Java Development Kit(Java开发工具包)的一个版本。

实验步骤1.实验一-Hello World!本实验是简单的Java编程,编写程序输出“Hello World!”。

这个例子非常简单,但是对于初学者来说,它是一个优秀的起点。

2. 实验二-数组本实验是关于Java中数组的基本操作,包括数组的定义、初始化、访问和遍历等基本操作。

本实验对变量和循环结构有更深入的理解和比较好的编程能力。

3. 实验三-递归本实验主要介绍递归的概念和应用。

递归是一种非常重要的编程技术,它的应用在算法设计中具有广泛的应用。

4. 实验四-线程本实验介绍了Java中线程的相关知识,包括线程的概念、创建线程和线程同步等。

由于Java是一种多线程语言,线程技术是Java编程中重要的一个部分。

实验结果通过这些实验,我对Java语法有了更深入的理解,包括如何定义、使用变量、循环结构和递归等等。

我还学习了Java中线程的相关知识,如何创建线程、线程同步和线程的多态性等等。

通过这些实验,我深入了解了Java语言和算法设计的基本概念。

我已经掌握了Java的基本语法和算法,并在实现算法时编写了一些有效的代码。

我相信这些经验和技能将对我未来的学习和职业发展有所裨益。

总结本次实验是一个非常好的实践机会,让我在实践学习的过程中更好地理解Java编程的基本知识和技能,并用所学的知识解决了很多实际问题。

它加强了我的Java基础,提高了我的编程能力,为我今后的个人发展和职业发展打下了坚实的基础。

java实训报告(精选5篇)

java实训报告(精选5篇)

java实训报告(精选5篇)java实训报告1作为就业培训,项目的好坏对培训质量的影响十分大,常常是决定性的作用。

这篇__是关于在学习java软件开发时练习项目的总结,简单总结为以下几点:1、项目一定要全新的项目,不能是以前做过的2、项目一定要企业真实项目,不能是精简以后的,不能脱离实际应用系统3、在开发时要和企业的开发保持一致4、在做项目的时候不应该有参考代码长话短说就是以上几点,如果你想要更多的了解,可以继续往后看。

一:项目的地位因为参加就业培训的学员很多都是有一定的计算机基础,大部分都具备一定的编程基础,尤其是在校或者是刚毕业的学生,多少都有一些基础。

他们欠缺的主要是两点:(1)不能全面系统的、深入的掌握某种技术,也就是会的挺多,但都是皮毛,不能满足就业的需要。

(2)没有任何实际的开发经验,完全是想象中学习,考试还行,一到实际开发和应用就歇菜了。

解决的方法就是通过项目练习,对所学知识进行深化,然后通过项目来获取实际开发的经验,从而弥补这些不足,尽快达到企业的实际要求。

二:如何选择项目项目既然那么重要,肯定不能随随便便找项目,那么究竟如何来选择呢?根据java的研究和实践经验总结,选择项目的时候要注意以下方面:1:项目不能太大,也不能太小这个要根据项目练习的阶段,练习的时间,练习的目标来判断。

不能太大,太大了做不完,也不能太小,太小了没有意义,达不到练习的目的。

2:项目不能脱离实际应用系统项目应该是实际的系统,或者是实际系统的简化和抽象,不能够是没有实战意义的教学性或者是纯练习性的项目。

因为培训的时间有限,必须让学员尽快地融入到实际项目的开发当中去。

任何人接受和掌握一个东西都需要时间去适应,需要重复几次才能够真正掌握,所以每个项目都必须跟实际应用挂钩。

3:项目应能覆盖所学的主要知识点学以致用,学完的知识点需要到应用中使用,才能够真正理解和掌握,再说了,软件开发是一个动手能力要求很高的行业,什么算会了,那就是能够做出来,写出代码来,把问题解决了,你就算会了。

南昌大学java实验报告4

南昌大学java实验报告4

南昌大学实验报告学生姓名:学号:专业班级:网络工程091实验类型:□验证□综合□设计□创新实验日期:2012.5.18 实验成绩:实验四简单的万年历一、实验目的学习使用布局类。

二、实验任务编写一个应用程序,有一个窗口,该窗口为BorderLayout布局。

窗口的中心添加一个Panel容器:pCenter,pCenterd的布局是7行7列的GridLayout布局,pCenter中放置49个标签,用来显示日历。

窗口的北面添加一个Panel容器pNorth,其布局是FlowLayout布局,pNorth放置两个按钮:nextMonth和previousMonth,单击nextMonth按钮,可以显示当前月的下一月的日历;单击previousMonth按钮可以显示当前月的上一月的日历。

窗口的南面添加一个Panel容器pSouth,起布局是FlowLayout,pSouth中放置一个标签用来显示一些信息。

三、实验内容编译并运行程序,查看结果。

程序如下:CalendarFRame.javapackage calendar;import java.awt.BorderLayout;import java.awt.Button;import java.awt.GridLayout;import bel;import java.awt.Panel;import java.awt.ScrollPane;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;public class CalendarFrame extends JFrame implements ActionListener { Label labelDay[]=new Label[42];Button titleName[]=new Button[7];String name[]={"日","一","二","三", "四","五","六"};Button nextMonth,previousMonth;int year=2012,month=5;CalendarBean calendar;Label showMessage=new Label("",Label.CENTER);public CalendarFrame(){Panel pCenter=new Panel();pCenter.setLayout(new GridLayout(7,7));//将pCenter的布局设置为7行7列的GridLayout 布局。

java实训报告(通用9篇)

java实训报告(通用9篇)

java实训报告java实训报告(通用9篇)在当下社会,大家逐渐认识到报告的重要性,写报告的时候要注意内容的完整。

那么一般报告是怎么写的呢?下面是小编精心整理的java实训报告,欢迎大家借鉴与参考,希望对大家有所帮助。

java实训报告篇1一、实训目的1.熟练掌握Java面向对象程序设计的基础知识。

2.熟练掌握Java中常用的Swing组件的使用方法。

3.熟练掌握Java程序中图形用户界面设计的方法。

4.熟练掌握使用JDBC操作数据库的方法。

5.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续Java高级编程等专业课程的学习奠定良好的基础。

二、课程设计报告内容2.1 实训内容本课程设计的题目是设计一个简化的仓库管理系统。

该系统从仓库管理人员的角度出发,实现对货物信息、生产商信息的浏览、添加、删除和查询,同时还可以对货物出货、入货进行操作和控制。

设计内容主要包括系统分析、数据库、数据表的创建、系统各个窗体的布局及其编码实现。

系统功能分析是在系统开发的总体任务的基础上完成的。

该管理系统需要完成的基本功能主要有:用户管理:主要包括用户的添加、修改和删除。

供应商管理:主要包括供应商的添加、删除和修改。

产品管理:主要包括产品的添加、删除和进货、出货。

产品视图管理:主要包括产品查询、数据文件的导入、查询结果集的导出。

2.2 实训设备或软、硬件硬件:PⅣ及以上性能的PC机;软件:Windows 20xx或Windows XP系统;JDK工具;JCreator4.0环境2.3 功能设计及思想本次实训设计采用选择结构化开发方法,即用系统工程的思想和工程化的方法,按照用户至上的原则,自顶向下整体分析与设计和自底向上逐步实施的系统开发过程。

是组织、管理和控制信息系统开发过程的一种基本框架。

其基本思想:在系统分析时,采用自顶向下、逐层分解,由抽象到具体的逐步认识问题的过程;在系统设计的时候,先考虑系统整体的优化,再考虑局部的优化问题;在系统实施的时候,则坚持自底向上,先局部后整体,通过标准化模块的连接形成完整的系统。

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第四次实验报告

java第四次实验报告
this.month = month;
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输入、输出和异常处理

实验四Java输入、输出和异常处理一、实验目的1.了解I/O流的使用;2.掌握常见的输入/输出流类及其主要方法。

3.熟悉S y s t e m类,掌握标准输入/输出。

4.学会利用Tr y-c a t c h-f i n a l l y语句来捕获和处理异常;5.掌握自定义异常类的方法。

二、实验要求1.使用标准数据流的应用程序。

2.使用文件输入输出流的应用程序。

3.通过编程理解系统异常处理的机制和创建自定义异常的方法。

三、实验内容(一)使用标准数据流的应用程序标准数据流指在字符方式下(如D O S提示符)程序与系统进行输入输出的方式,键盘和显示器屏幕是标准输入输出设备,数据输入的起点为键盘,数据输出的终点是屏幕,输出的数据可以在屏幕上显示出来。

1.程序功能:将键盘上输入的字符在屏幕上显示出来。

2.编写S Y4_1.j a v a程序文件,源代码如下:c l a s s S Y4_1{p u b l i c s t a t i c v o i d m a i n(S t r i n g[]a rg s)t h r o w s j a v a.i o.I O E x c e p t i o n {b y t e b u ff e r[]=n e w b y t e[10];S y s t e m.o u t.p r i n t l n("从键盘输入不超过10个字符,按回车键结束输入:");i n t c o u n t=S y s t e m.i n.r e a d(b u f f e r);//读取输入的字符并存放在缓冲区b u ff e r中S y s t e m.o u t.p r i n t l n("保存在缓冲区b u ff e r中元素的个数为:"+c o u n t);S y s t e m.o u t.p r i n t l n("b u f f e r中各元素的值为:");f o r(i n t i=0;i<c o u n t;i++){S y s t e m.o u t.p r i n t(""+b u ff e r[i]);//在屏幕上显示b u ff e r 元素的值}S y s t e m.o u t.p r i n t l n();S y s t e m.o u t.p r i n t l n("输出b u ff e r字符元素:");S y s t e m.o u t.w r i t e(b u ff e r,0,b u f f e r.l e n g t h);}}3.编译、运行S Y4_1.j a v a文件。

JAVA实验报告

JAVA实验报告

实验一:实验目的●学习下载最新版本的JDK。

●学习安装与设置JDK运行环境。

●解决JDK开发环境配置中的常见问题。

实验二:实验目的●了解Java应用程序的结构。

●学习Java应用程序源程序的编辑。

●学习Java源程序的编译。

●学习Java应用程序的运行。

●学习解决Java源程序编译过程中的常见问题。

实验要求编写一个比较简单的Java应用程序,该程序将会在命令提示符窗口下输出一句话:Java 世界欢迎你!实验三:实验目的●了解Java小程序的结构。

●学习Java小程序的编译、运行。

●了解Html语言中的Applet标签。

实验四:实验目的●学习标识符的命名规则。

●学习基本数据类型变量的声明。

●学习基本数据类型变量的初始化。

●明确局部变量使用前初始化的意义。

●学习常量的使用。

实验要求编写一个Java 程序,在程序中声明各种基本数据类型的变量,对它们进行初始化,再显示它们各自的值;定义一个双精度数据类型的常量,并显示它的值。

实验五:实验目的●学习算术运算符中的求模运算。

●学习算术运算符中的自增运算。

●学习算术运算符中的自减运算。

实验要求编写一个Java 程序,在程序中进行求模运算、自增和自减运算。

实验五:实验目的●学习算术运算符中的求模运算。

●学习算术运算符中的自增运算。

●学习算术运算符中的自减运算。

实验要求编写一个Java 程序,在程序中进行求模运算、自增和自减运算。

实验六:实验目的●学习算术运算符中的整数除法。

●学习算术运算符中的浮点数除法。

●学习算术运算符中的整数与浮点数混合除法。

实验要求编写一个Java 程序,在程序中进行整数除法、浮点数除法和整数与浮点数混合除法运算。

实验七:实验目的●学习逻辑运算符中的与运算。

●学习逻辑运算符中的或运算。

●学习逻辑运算符中的非运算。

实验要求编写一个Java 程序,在程序中进行与运算、或运算和非运算。

实验八:实验目的●学习字符串转换为数值型数据的方法。

●学习数值型数据转换成字符串的方法。

Java程序设计实验报告4

Java程序设计实验报告4

课程实验报告
的文件对象,然后对str中的每个对象调用isFile()方法判断是否是文本文件,并计数输出
(4)在外层使用for循环对每个文本文件遍历行数
(5)在内层创建FileReader类的对象reader1和BufferedReader类的对象reader2,设置行数rows=0,分别读每个文本文件计算行数
调试过程及实验结果1. 2.
总结通过第一个实验我熟悉了BufferedReader、BufferedWriter等流类的相关使用方法,掌握了向文件中读写数据的基本步骤;通过第二个实验我掌握了Java File类相关方法的调用和使用,熟悉对文本文件和非文本文件基本方法的使用。

附录(手抄源程序清单,对关键步骤需要添加注释,写在报告背面即可,无需附页,严禁打印)
*注意:
--雷同无效,禁止抄袭;
--A4纸单面打印,左侧装订,2个钉;
--以班为单位,各班负责人收齐并按学号由小到大顺序排序后上交;。

java_实验四

java_实验四

武汉工程大学计算机科学与工程学院实验报告[4]一、实验目的1)了解Java.awt包及Swing的新增特性。

2)了解Java系统图形用户界面的基本工作原理和界面设计的步骤。

3)了解图形用户界面的事件响应机制。

4)了解图形用户界面各种常用的基本组件的使用方法及其事件响应。

5)掌握Java常用组件的应用6)掌握图形用户界面各种布局策略的设计与使用二、实验要求1)创建一个简单的图形用户界面。

2)使用Java类库中提供的组件,并添加到图形用户界面中。

3)通过Java事件处理机制,实现与用户的交互信息。

4)练习使用布局管理器5)使用Java类库中提供的组件,并添加到图形用户界面中6)通过Java事件处理机制,实现与用户的交互信息三、实验内容对一个优秀的应用程序来说,良好的图形用户界面是必不可少的。

因为只有通过图形界面,用户才能够与程序友好的交互。

缺少良好的图形用户界面,将会给用户理解和应用程序带来很多不便。

创建一个完整的图形用户界面的应用程序大致流程如下:1)引用需要的包和类。

2)设置一个顶层的容器。

3)根据需要为容器设置布局管理器或使用默认布局管理器。

4)将组件添加到容器内,位置自行设计。

5)为响应事件的组件编写事件处理代码。

下面我们先建立一个简单的图形用户界面,然后通过合适的布局管理器,将各种常用组件添加到图形用户界面中,实现与用户的交互信息。

1. 创建简单的图形用户界面(1)创建简单的 Frame 框架在 AWT 库中,对应于框架的类是 Frame,在 Swing 库中,相应的类是 JFrame。

JFrame 类扩展了 Frame 类。

大部分 ATWT 组件在 Swing 中都有等价的组件,它们在表示形式上差一个“J”。

框架是一个容器,可以在这个容器中放入其他一些图形用户界面组件,如按钮、菜单等,从而组成一个功能完善的程序。

下面的例子是建立一个 Frame 框架,通过这个例子学习如何创建一个简单的图形用户界面。

Java实验四报告

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实验四-实验报告

Java实验四-实验报告

Java实验四-实验报告实验四类和对象;类的继承和派生;多态性;接口;构造器应用一、实验目的1、掌握类与对象的关系;2、掌握类的定义;3、掌握对象的声明及使用;4、掌握构造方法的概念及调用时机;5、掌握构造方法的重载;6、掌握匿名对象的使用。

二、实验学时2学时三、实验类型验证性实验四、实验需求1、硬件每位学生配备计算机一台2、软件Windows 7操作系统,JDK,eclipse,MySQL 3、网络无4、工具无五、实验理论与预备知识1、类与对象的关系;2、类的定义;3、对象的声明及使用;4、构造方法的概念及调用时机;5、构造方法的重载;6、匿名对象的使用。

六、实验内容与结果1、编写一个应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。

//三角形类class Trangle {double sidea,sideb,sidec,sjxzc,sjxmj;boolean boo;public Trangle(double a,double b,double c){sidea=a;sideb=b;sidec=c;if(a+b>c && a+c>b && b+c>a){boo=true;}else{boo=false;}}double getlength(){double length;length=sidea+sideb+sidec;return length;}public double getarea(){if(boo){double area;double p=(sidea+sideb+sidec)/2.0;area=Math.sqrt(p*(p-sidea)*(p-sideb)*(p-sidec)); return area;}else{System.out.println("不是一个三角形,不能计算面积"); return 0;}}}//梯形类class Laderdouble txsd,txxd,txhigh,txarea;Lader(double a,double b,double c){txsd=a;txxd=b;txhigh=c;}double getarea(){double area;area=(txsd+txxd)*txhigh/2.0; return area;}}//圆形类class Circle{double ybj,yzc,yarea;Circle(double r){ybj=r;}double getarea(){double area;area=3.14*ybj*ybj;return area;}double getlength(){double length;length=2*3.14*ybj;return length;}void setybj(double newybj) {ybj=newybj;}double getybj(){return ybj;}}public class one {public static void main (String args[]){double length,area;Circle circle=new Circle(5);Trangle trangle=new Trangle(3,4,5); Lader lader=new Lader(3,4,6);length=circle.getlength();System.out.println("圆的周长:"+length); area=circle.getarea();System.out.println("圆的面积:"+area); length=trangle.getlength();System.out.println("三角形的周长:"+length); area=trangle.getarea();System.out.println("三角形的面积:"+area); area=lader.getarea();System.out.println("梯形的面积:"+area); trangle=new Trangle(1,1,3);area=trangle.getarea();System.out.println("三角形的面积:"+area); length=trangle.getlength();System.out.println("三角形的周长:"+length); }}2、编写一个公司员工类。

java web 实验报告 4

java web  实验报告  4

实验报告成绩:教师:课程名称: Java Web应用开发技术实用教程实验名称: JDBC技术一、实验目的(1)使用JDBC技术。

(2)在JSP中使用数据库。

二、实验工具(1)JDK 1.4、JDK 1.5或JDK 1.6,可以从SUN公司的网站免费下载。

(2)编辑工具JCreator,可以从网上免费下载。

(3)Tomcat服务器,也可以从网上免费下载。

三、实验步骤(1)数据库基本操作。

1)建立数据库表product,其结构如下:┏━━━━━━━┳━━━━┓┃列名┃类型┃┣━━━━━━━╋━━━━┫┃ProductID ┃.mt ┃┣━━━━━━━╋━━━━┫┃ ProductName ┃ text ┃┣━━━━━━━╋━━━━┫┃ ProductPrice ┃.mt ┃┣━━━━━━━╋━━━━┫2)在JCreator中输入以下文档,并保存为ProductAdd.iava。

Importjava.sql.*;class ProductAdd(129页代码}3)编译ProductAdd.iava4)运行ProductAdd.iava(2)在JSP中使用JDBC。

1)用上一章使用的student表注册数据源,名称为sun,用户名为sa,无口令。

2)打开JCreator,输入以下文档,并保存为seatoh.jsp。

<HTML><BODY><P>查询成绩:<FONT size=1><P>输入学生的姓氏:<BR><FORM action=”byname2jsp”method=post name=form><INPUT type="text”name="name’’value=”王”><BRl><INPUT type=submit name=’’g..vaIHe=’’提交‘·></FORM></BODY></HTML>3)在JCreator中输入以下文档,并保存为byname2.jsp。

java实验报告-

java实验报告-

java实验报告-Java 实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解和掌握Java 语言的基本语法、面向对象编程的概念以及常用类库的使用方法。

同时,培养自己的编程思维和解决实际问题的能力。

二、实验环境操作系统:Windows 10开发工具:IntelliJ IDEAJDK 版本:18三、实验内容及步骤(一)实验题目 1:简单的 Java 程序设计1、题目描述编写一个 Java 程序,实现输出“Hello, World!”。

2、实验步骤(1)打开 IntelliJ IDEA 开发工具,创建一个新的 Java 项目。

(2)在项目中创建一个新的 Java 类,命名为“HelloWorld”。

(3)在“HelloWorld”类中编写以下代码:```javapublic class HelloWorld {public static void main(String args) {Systemoutprintln("Hello, World!");}}```(4)运行程序,查看控制台输出结果。

(二)实验题目 2:数据类型与变量1、题目描述定义不同数据类型的变量,并进行赋值和运算操作。

2、实验步骤(1)在同一个 Java 项目中创建一个新的 Java 类,命名为“DataTypeAndVariable”。

(2)在“DataTypeAndVariable”类中编写以下代码:```javapublic class DataTypeAndVariable {public static void main(String args) {int num1 = 10;int num2 = 20;int sum = num1 + num2;double price = 125;String name ="张三";boolean isTrue = true;Systemoutprintln("num1 + num2 ="+ sum);Systemoutprintln("价格:"+ price);Systemoutprintln("姓名:"+ name);Systemoutprintln("是否为真:"+ isTrue);}}```(3)运行程序,查看控制台输出结果。

Java实验报告4

Java实验报告4
(2)如果将Clock类的声明public class Clock改成class Clock编译B.java时会报错,原因为packone.Clock在packone中不是公共的,无法从外部软件包中对其进行访问。
(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);

java实验四实验报告

java实验四实验报告
}
}
编译:javac TwoThread.java
解释执行:java TwoThread
运行后结果:
1、用创建Thread类的子类的方法实现多线程:
源程序:
class FruitThread extends Thread
{
public FruitThread (String str)
{
super(str);
}
public void run()
{
for(int i=0;i<5;i++)
{
System.out.println(i+""+getName());
T2.start();
}
}
编译:javac C.java
解释执行:java RunThread
运行后结果:
c源程序:
class run1Thread implements Runnable
{
public void run()
{
System.out.println("This is Runnable");
outputClass(String s){
name=s;
}
public void run(){
for(int i=0;i<3;i++){
System.out.println(name);
Thread.yield();
}
}
}
class runThreads{
public static void main(String args[]){
try
{
sleep((int)(Math.random()*1000));

天津理工大学Java实验四实验报告

天津理工大学Java实验四实验报告

天津理⼯⼤学Java实验四实验报告天津理⼯⼤学计算机科学与⼯程学院实验报告2017 ⾄2018 学年第⼀学期附录(源程序清单)// FullQueueException类package Ex;public class FullQueueException extends IndexOutOfBoundsException { private static final long serialVersionUID = 1L;String ERROR_INFO;FullQueueException(String s){this.ERROR_INFO = new String(s);}public String toString(){return "FullQueueException" + ERROR_INFO;}}// EmptyQueueException类String ERROR_INFO; EmptyQueueException(String s){this.ERROR_INFO = new String(s);}public String toString(){return "EmptyQueueException" + ERROR_INFO; }}// CircleQueue类import java.util.Arrays;public class CircleQueue{private int DEFAULT_SIZE = 5;private int capacity;private Object[] elementData;private int front = 0;private int rear = 0;public CircleQueue(){capacity = DEFAULT_SIZE;elementData = new Object[capacity];}public CircleQueue(T element){this();elementData[0] = element;rear++;}public CircleQueue(T element, int initSize){this.capacity = initSize;elementData = new Object[capacity];rear++;}public int size(){if (isEmpty()){return 0;}return rear > front ? rear - front : capacity - (front - rear);}public void addBack(T element) throws FullQueueException { if (rear == front && elementData[front] != null){throw new FullQueueException("队列已满的异常");}elementData[rear++] = element;rear = rear == capacity ? 0 : rear;}public T removeFront() throws EmptyQueueException{if (isEmpty()){throw new EmptyQueueException("空队列异常");T oldValue = (T) elementData[front];elementData[front++] = null;front = front == capacity ? 0 : front;return oldValue;}public T element() throws EmptyQueueException{if (isEmpty()) {throw new EmptyQueueException("空队列异常");}public boolean isEmpty(){// rear==front且rear处的元素为nullreturn rear == front && elementData[rear] == null; }public void clear(){Arrays.fill(elementData, null);front = 0;rear = 0;}}// PrintJob类public class PrintJob{private String jobName;private int pages;public PrintJob(String sjN, int spg){this.jobName = new String(sjN);this.pages = spg;}public String getName(){return this.jobName;}public int getPages(){return this.pages;}}import java.util.Queue;private int sizeOfJobs;private int numberOfJobs;private int delayBetweenJobs;private String producerName;private Thread PrintThread = null;public Producer(int ss, int sn, int sd, String spn, Thread t) {this.sizeOfJobs = ss;this.numberOfJobs = sn;this.delayBetweenJobs = sd;this.producerName = new String(spn);this.PrintThread = t;}public void run() {for (int i = 0; i < this.numberOfJobs; i++) {PrintJob pj = new PrintJob(this.producerName + " #" + i, this.sizeOfJobs); try {Printer.getInstance().addJob(pj);Thread.sleep(this.delayBetweenJobs);} catch (InterruptedException e) {e.printStackTrace();} catch (FullQueueException e) {System.out.println("⽆法添加打印任务启动Printer" + e);}}}}//Printer类public class Printer implements Runnable{static private CircleQueue printQueue = new CircleQueue();static private boolean stateIsRunning = true;private static final Printer PRNTR_ONL Y = new Printer();static private boolean whileend = false;public static Printer getInstance() {return PRNTR_ONL Y;}public synchronized void halt(){if (Printer.stateIsRunning) {System.out.println("C: Print manager is halted.");Printer.stateIsRunning = false;}}public void addJob(PrintJob job) throws FullQueueException, InterruptedException { synchronized (printQueue){try{this.printQueue.addBack(job);}catch (FullQueueException e){try{printQueue.notify();printQueue.wait();}catch (InterruptedException e1){e1.printStackTrace();}}}System.out.println("[1]P: Adding job " + job.getName() + " to the queue");}private PrintJob getJob() throws EmptyQueueException {PrintJob p = null;while (p == null && stateIsRunning) {try {p = this.printQueue.element();Printer.printQueue.removeFront();} catch (EmptyQueueException e) {try {printQueue.notifyAll();printQueue.wait(500);} catch (InterruptedException e1) {e1.printStackTrace();}System.out.println("C: Waiting on a job to print." + stateIsRunning);}}return p;}}public void run() {System.out.println("C: Print manager is starting up.");while (stateIsRunning) {PrintJob pjob = null;try {pjob = this.getJob();System.out.println("[2]C:Starting job " + pjob.getName()); Thread.sleep(500 * pjob.getPages());System.out.println("[3]C:Completed job " + pjob.getName());} catch (EmptyQueueException e) {break;} catch (InterruptedException e) {e.printStackTrace();}}}//TestPrinter类public class TestPrinter{public static void main(String[] args) {Printer PRNT_P = Printer.getInstance();Thread THRD_P = new Thread(PRNT_P);THRD_P.setPriority(10);Producer pd1 = new Producer(5, 2, 5, "A", THRD_P); Producer pd2 = new Producer(5, 2, 5, "B", THRD_P); Producer pd3 = new Producer(5, 3, 5, "C", THRD_P); Thread thrd_A = new Thread(pd1);Thread thrd_B = new Thread(pd2);Thread thrd_C = new Thread(pd3);thrd_A.start();thrd_B.start();thrd_C.start();THRD_P.start();try {thrd_A.join();thrd_B.join();thrd_C.join();计算机科学与⼯程系}catch (InterruptedException e1){e1.printStackTrace();}try{Thread.sleep(10000);}catch (InterruptedException e){e.printStackTrace();PRNT_P.halt(); }}。

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

实验4 Java 语言面向对象基础编程
一.实验目的
(1)通过编程和上机实验理解Java语言是如何体现面向对象编程基本思想
(2)如何创建类和对象
二、实验要求
1、编写一个体现面向对象思想的程序;
2、编写一个创建对象和使用对象的方法的程序;
3、编写体现构造方法重载的程序;
三.实验内容
1、定义类创建类对象
设计类来描述真实客观世界中的事物,使用类的成员变量来表示事物的属性和状态,使用类的成员方法来提供对成员变量的访问或修改
(1)程序功能:设计一个用来描述汽车的类,使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。

源代码:(自己编写)
创建类的对象,使用对象的方法(类的非静态方法)来访问或修改对象的变量(类的非静态变量)
(1)创建上面第一步的类的对象,在调用类的构造函数时指定对象的变量的初始值,以后再使用对象的方法来访问或修改对象的变量的值。

源代码:
2、构造方法重载
构造方法的名称和类同名,没有返回类型。

尽管构造方法看起来和一般的成员方法没有差别,但它不是方法,也不是类的成员。

因此,构造方法不能直接调用,只能由new 操作符调用。

构造方法对于类是十分重要的,对象的初始化任务要靠构造方法来完成。

重载构造方法的目的是提供多种初始化对象的能力,使程序员可以根据实际需要选用合适的构造方法来初始化对象。

源代码如下:
class RunDemo {
private String userName, password;
在该处编写不带参数的构造方法
在该处编写带一个参数的构造方法
在该处编写带两个参数的构造方法
}
public class EXP2 {
public static void main(String[] args) {
//使用不同的构造方法进行对象的初始化
}
}
3、调用方法时参数传递的练习
在Java 中,方法中的参数传递可以分为传值调用或对象方法调用等方式。

传值调用即传递的参数是基本数据类型,调用方法时在方法中将不能改变参数的值,这意味着只能使用它们。

3.1 编写一个传值调用的程序
(1) 程序功能:程序首先给整型变量x 和y 赋一个初值10,然后使用传值调用方式调用方法ff1对x 和y 做乘方及输出x 和y 的乘方值,最后再输出x 和y 的乘方值。

(2)编写源代码
(3)编译、运行源代码。

相关文档
最新文档