河南工业大学java实验四
(完整word版)实验四异常类的定义及处理
信息科学与工程学院《Java程序设计》上机实验报告专业班级姓名学号实验时间年月日指导教师成绩主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)try{int test3[]=null;test3[1]=100; //空指针无法赋值}catch (NullPointerException e){System.out.println("捕获异常:\n"+e);System.out.println(e.toString());}finally{System.out.println("捕获完成 \n\n");}}}(2).实验结果步骤(6):将outofBound()方法中捕获异常的语句注释掉,重新编译程序实验结果:编译通过,运行时出现错误System.out.println(e.toString());}finally{System.out.println("捕获完成\n\n");}}static void nullPointer(){try {int test3[]=null;test3[1]=100; //空指针无法赋值}catch (NullPointerException e){System.out.println("捕获异常:\n"+e);System.out.println(e.toString());}finally{System.out.println("捕获完成 \n\n");}}}实验结果: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);}elsethrow 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)实验结果3.思考题(1)翻译下列常用异常类的描述信息OutOfMemoryErrorA class instance creation expression, array creation expression , or string concatenation operatior expression throws an OutOfMemoryError if there is insufficiente1.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("输入错误参数");}}}实验结果:二.实验总结通过本次实验,了解了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实验1
河南工业大学实验报告课程高级Java编程技术实验名称实验一:多线程同步专业班级计科1505 院系信息科学与工程学院姓名李杰学号 201516010118 指导老师孙宜贵日期 2017.9.19一.实验目的通过线程的创建、启动和多线程的同步,掌握线程的使用和多线程之间的数据共享和传递。
二.实验要求1)对界面不做要求。
2)相关操作:创建线程;启动线程;线程操作;多线程同步操作。
3)操作过程截图和代码中应体现个人信息,否则作废!三.实验过程及结果任务一:使用定时器实现每隔一秒打印当前的系统时间。
1)补充说明:连续5秒的运行,结果格式为“{个人姓名}为大家报时:系统时间”2)代码(含适量的注释)package 高级java实验一;import java.util.Date;import java.text.SimpleDateFormat;class mythread extends Thread{public void run(){while(true){try {Thread.sleep(5000);} catch (InterruptedException e) {e.printStackTrace();}SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式System.out.println("李杰为大家报时:"+df.format(new Date()));// new Date()为获取当前系统时间}}}public class Test1{public static void main(String[] args) throws Exception{mythread thread1=new mythread();thread1.start();}}3)运行结果截图任务二:创建一个多线程应用程序,程序中有两个子线程,一个子线程每隔一秒向集合中添加一个整数数据,另一个线程访问集合中的数据并输出。
河南工业大学-图形学实验四
河南工业大学-图形学实验四-CAL-FENGHAI.-(YICAI)-Company One1实验四:二维变换与裁剪算法的实现一、实验目的1、掌握平移变换、旋转变换和缩放变换方法;2、达到掌握二维图形基本几何变换及运用几何变换快速方便生成图形的目的;3、掌握图形裁剪算法。
二、实验要求1. 在MFC单文档应用程序中,添加奇次二维坐标点类CP2,如图1.1 所示,参考图1.2部分代码,分别完成二维图形的平移、旋转和缩放。
(注:变换参数可在程序内直接给出或用对话框等形式输入,简单二维图形经二维变换后可生成复杂图形。
)图1.1 CP2类定义图1.2 部分二维变换参考代码2. 利用Cohen-Sutherland端点编码算法编程实现任意线段的裁剪,要求自定义窗口区域和直线端点。
(注:未被裁剪的线段及被裁剪的线段用不同的颜色显示出来。
)三、实验内容一,二维图形的变换○1菜单栏的建立○2对话框的创建,创建对应的类为dialog○3为编辑框Edit添加成员变量:右键,建立类向导,选择Member Variables,双击IDC_EDIT1(对应编辑框的ID),Member variable name m_x1Category ValueVariable type OK○4新建两个类CCP2和TransForm,CCP2类用于将二维点坐标转换成齐次坐标,TransForm类是平移,旋转,缩放的具体实现。
代码如下:// CP2.h#pragma onceclass CP2{public:CP2();virtual ~CP2();CP2(double x, double y);//如果滚动条不能拉动,请启用宏。
○5在文件视图中找到test4View.h protected里面加入变量CString x1,y1,x2,y2,translate,scale,rotate。
用于在test4View.cpp中接收编辑框的值。
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实验总结报告
Java实验总结报告Java实验总结报告.Java实验报告在一学期的Java上机实验中,学到了很多书本以外的知识。
同时也遇到了很多难题,在解决问题中加深了对Java知识的认识与学习。
实验一中遇到的问题:环境变量的设置遇到了麻烦。
解决方法:询问老师,查阅书本得以解决。
实验二中遇到的问题:对Java的if和switch语句的运用不熟悉,所以导致实验中程序最初编写的很雍长,繁琐。
解决方法:通过对Java的if和switch语句的深一步学习,逐步学会了它们的灵活运用,从而更便捷地解决问题。
实验三中在学习过C的基础上,运用Java的for、while、do..while语句,并没遇到什么大的麻烦。
实验四中遇到的问题:编写提供三个选项的菜单驱动程序中的选择问题。
解决方法:在实验程序中用的是先判断温度类型,再转换单位。
实验五中遇到的问题:抽奖号码未能解决排序问题。
解决方法:该程序只针对该题是对的,关于排序问题在老师的启发下,自己在实验之外加以尝试,得以成功。
实验六遇到的问题:对成员变量的初始化,没有分步来写。
解决方法:在老师的帮助下重新一个个地初始化。
实验七中遇到的问题:由于一开始的充分准备,没遇到问题,很顺利。
实验八中遇到的问题:不能运行成功。
解决办法:发现是类名与文本名不同,改动之后得以解决。
实验九遇到的问题:shape和Circle包含关系,重复定义,比较繁琐。
解决方法:去掉其一。
实验十遇到的问题:在理解并使用面向对象的特征:多态实验上还算顺利。
实验十一遇到的问题:对线程的基本概念模糊,走了很多弯路。
解决方法:请教同学,参照课本最终才勉强解决了问题。
学习心得与体会:在做完所有实验后,我初步理解并能够操作和使用Java的if和switch,for、while、do..while语句,Java的类、对象和方法,声明、定义和调用方法,理解实参和形参的含义。
学习创建简单类型的数组,并能用循环语句处理数组。
使用统一建模语言(UML)设计类,并实现类。
java实验四报告
任课教师:《JAVA程序设计》()实验报告学号:姓名:班级:实验指导书实验名称:图形用户界面实验学时安排:2实验类别:综合设计型实验实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1、掌握Java GUI主要的类及方法的创建及使用。
2、掌握Java 各种布局管理器的创建及使用。
3、掌握Java 对GUI的监听机制原理及主要GUI的监听接口。
4、通过试验,能够应用GUI类及布局管理器设计能够相应用户请求简单的图形界面二、实验内容P156 习题21)要求1: 在界面要求的基础上,增加菜单,包含菜单有-文件(打开保存退出等) 编辑(字体-粗体斜体颜色-红绿蓝) 帮助2:使用swing控件:JTextField, JComboBox, JCheckBox, JRadioButton3.事件响应(1)点击确定按钮时,将选择的个人姓名省份等信息显示在文本框内2)步骤•1)实现接口implements ActionListener•2) 设置确定按钮的监听者 buttonok.addActionListener(this);•3)动作实现•public void actionPerformed(ActionEvent e){ .. …. }•1)接口 JTextField 内容改变-DocumentListener•2)监听者 Document dt;•dt = textname.getDocument();•dt.addDocumentListener(this);•3) public void changedUpdate(DocumentEvent e)• {•if(e.getDocument()==dt){ }• }•public void insertUpdate(DocumentEvent e)• {•if(e.getDocument()==dt){ }• }•public void removeUpdate(DocumentEvent e) { }•JComboBox, JCheckBox, JRadioButton 选项内容改变- ItemListener public void itemStateChanged(ItemEvent e){if(e.getSource()==combopro)if(e.getStateChange()==ItemEvent.SELECTED)str=str+combopro.getSelectedItem().toString();……}三、程序代码package E26.test;import java.awt.*;import java.awt.event.*;import javax.swing.*;class aa extends JFrame implements ActionListener{Button b1,b2;TextArea textarea1;JTextField text1=new JTextField(5);JComboBox provincechoice;JCheckBox c[];String habits[]={"体育","音乐","美术"};ButtonGroup group;JRadioButton f,g;aa(String s){super(s);setSize(290,440);setLocation(120,120);setVisible(true);JMenuBar menubar;JMenu file,edit,font,color;JMenuItem jopen,jsave,jout,bold,italic,red,green,blue;menubar=new JMenuBar();file=new JMenu("文件");jopen=new JMenuItem("打开");jsave=new JMenuItem("保存");jout=new JMenuItem("退出");file.add(jopen);file.add(jsave);file.add(jout);edit=new JMenu("编辑帮助");font=new JMenu("字体");bold=new JMenuItem("粗体");italic=new JMenuItem("斜体");color=new JMenu("颜色");red=new JMenuItem("红色");green=new JMenuItem("绿色");blue=new JMenuItem("蓝色");font.add(bold);font.add(italic);color.add(red);color.add(green);color.add(blue);edit.add(font);edit.add(color);menubar.add(file);menubar.add(edit);setJMenuBar(menubar);validate();setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);Container contenePane=this.getContentPane();FlowLayout flow=new FlowLayout();flow.setAlignment(FlowLayout.LEFT);flow.setHgap(8);flow.setVgap(8);GridLayout grid=new GridLayout();Box firstline,secondline,thirdline,basebox;firstline=Box.createVerticalBox();firstline.add(new Label("姓名:"));firstline.add(text1);firstline.add(new Label("省份:"));String p[]={"湖南","浙江","江西"};provincechoice=new JComboBox<String>(p);provincechoice.setSelectedIndex(1);provincechoice.addActionListener(this);firstline.add(provincechoice);firstline.setLayout(flow);firstline.validate();secondline=Box.createVerticalBox();secondline.add(new Label("爱好:"));c=new JCheckBox[3];for(int i=0;i<3;i++){c[i]=new JCheckBox(habits[i]);add(c[i]);}secondline.add(new Label("性别:"));group=new ButtonGroup();f=new JRadioButton("男");g=new JRadioButton("女");group.add(f);group.add(g);secondline.add(f);secondline.add(g);secondline.setLayout(flow);secondline.validate();basebox=Box.createHorizontalBox();basebox.add(firstline);basebox.add(secondline);contenePane.add(basebox);textarea1=new TextArea(10,30);add(textarea1);b1=new Button("确定");b2=new Button("取消");add(b1);add(b2);b1.addActionListener(this);b2.addActionListener(this);contenePane.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getSource()==b1){String n=text1.getText();String x=provincechoice.getSelectedItem().toString();String y[]=new String[3];String s;if(group.getSelection()==f.getModel())s="男";elses="女";int j=0,k=0;for(j=0,k=-1;j<3;j++){if(c[j].isSelected()){k++;y[k]=habits[j];}}textarea1.append("姓名:"+n+"\n\n"+"省份:"+x+"\n\n"+"爱好:");for(j=0;j<3;j++){while(y[j]!=null){textarea1.append(y[j]+" ");break;}}textarea1.append("\n\n"+"性别:"+s+"\n\n");}if(e.getSource()==b2){textarea1.setText("");}}}public class awt {public static void main(String args[]){Firstwindows win=new Firstwindows("简单窗口");}}四、运行结果与测试分析五、心得体会本次实验由书上个例子中找相似的,完成最终设计,比较麻烦。
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输入、输出和异常处理一、实验目的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_实验四
武汉工程大学计算机科学与工程学院实验报告[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实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解 Java 语言的基本语法、面向对象编程的概念以及常用类库的使用。
同时,培养自己解决实际问题的能力,提高编程的熟练程度和代码质量。
二、实验环境操作系统:Windows 10开发工具:EclipseJDK 版本:18三、实验内容及步骤(一)基本语法练习1、数据类型与变量定义不同类型的变量,如整数型(int)、浮点数型(float、double)、字符型(char)和字符串型(String),并进行赋值和输出操作。
了解不同数据类型的取值范围和精度,以及在实际编程中的应用场景。
2、控制结构编写使用 ifelse 语句、switch 语句进行条件判断的程序。
运用 for 循环、while 循环和 dowhile 循环实现重复执行的操作。
3、数组与字符串声明和初始化一维数组和二维数组,对数组元素进行访问和操作。
进行字符串的拼接、截取、查找等常见操作。
(二)面向对象编程实践1、类与对象定义一个简单的类,包含属性和方法。
创建该类的对象,并调用对象的方法来操作属性。
2、继承与多态建立父类和子类,实现继承关系。
在子类中重写父类的方法,展示多态性。
3、封装与抽象将类的属性设置为私有,并提供公共的访问方法(getter 和 setter),实现封装。
定义抽象类和抽象方法,体会抽象的概念和作用。
(三)常用类库的使用1、 Java 输入输出(IO)使用 Scanner 类实现从控制台读取用户输入的数据。
运用 File 类和相关的输入输出流类,实现文件的读取和写入操作。
2、集合框架熟悉 ArrayList、LinkedList 等线性集合的使用方法。
了解 HashSet、TreeSet 等集合的特点和应用场景。
3、异常处理在程序中加入可能引发异常的代码段,并使用 trycatch 语句捕获和处理异常。
四、实验结果与分析(一)基本语法练习1、数据类型与变量成功定义了各种数据类型的变量,并正确进行了赋值和输出。
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实验报告实验报告java实验报告Java
java实验报告实验报告java实验报告Java一、实验目的本次实验的目的是熟悉Java语言,了解Java程序结构,掌握Java程序的开发流程,加深对Java语言特性的认识和理解。
二、实验内容本次实验内容为设计一个简单的Java程序,包括设计程序的需求分析、设计方案、编写代码、测试运行结果等环节。
三、实验分析3.1 需求分析设计一个Java程序,要求该程序能够实现以下功能:1. 用户可以输入两个数,程序可以对这两个数进行加、减、乘、除的操作,并输出运算结果。
2. 用户可以输入一个字符串,程序可以对该字符串进行反转输出。
3.2 设计方案根据需求分析,我们可以先设计一个简单的界面,包括输入框、选择运算符号的下拉框,以及一个按钮,当用户输入完毕后点击按钮即可进行相应的操作。
3.3 编写代码根据设计方案,我们先编写一个简单的界面代码:import java.awt.*;import javax.swing.*;public class Calculator extends JFrame {private JTextField text1, text2, text3;private JComboBox<String> combo;private JButton calcBtn, reverseBtn, factBtn;public Calculator() {super("Calculator");text1 = new JTextField(5);text2 = new JTextField(5);text3 = new JTextField(10);combo = new JComboBox<String>(new String[]{"+", "-", "*", "/"});calcBtn = new JButton("Calculate");reverseBtn = new JButton("Reverse");factBtn = new JButton("Factorial");JPanel panel2 = new JPanel();panel2.add(new JLabel("String:"));panel2.add(text3);panel2.add(reverseBtn);pack();setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}该界面中包含了3个面板,一个用于加减乘除,一个用于字符串反转,一个用于阶乘操作。
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编程技术实验名称实验四:Swing中的事件
处理
专业班级计科1505 院系信息科学与工程学院
姓名李杰学号 201516010118 指导老师孙宜贵日期 2017.10.17
一.实验目的
通过使用Swing中的事件监听和处理机制,建立GUI应用程序,响应鼠标和键盘操作,
理解事件处理机制,掌握事件处理方法。
二.实验要求
1)在实验三的基础上,完成界面的主要事件的处理。
2)相关操作:针对重要的事件添加事件处理代码。
3)操作过程截图和代码应体现个人信息,否则作废!
三.实验过程及结果
任务一:给用户注册界面添加主要的事件处理代码,包括用户长度验证,密码、确认密码的
一致性验证,在点击注册按钮时要验证每个必填项,验证通过后用消息对话框显示用户的各
项信息。
1)补充说明:具体JDBC代码暂不实现。
2)代码(含适量的注释)
见压缩包.java文件
3)运行结果截图
用户名验证
验证E-mail地址
验证电话号码
重置成功
任务二:在客户端必须先登录,验证通过后进入聊天主模块(如果没有账户,则先注册)。
1)补充说明:登录验证具体JDBC代码暂不实现,只是验证用户名和密码必填。
2)代码(含适量的注释)
见压缩包.java文件
3)运行结果截图
用户名为空时的错误提示
密码为空时的错误提示
登录成功界面
用户名或密码错误。
java 实验四BX120209王程强
电子信息学院实验报告书课程名:《 Java程序设计》题目:继承、抽象类和接口实验类别: 【设计】班级:BX1202学号:121003610209姓名:王程强一、实验目的和要求学习类的继承、类方法的覆盖、抽象类的定义和使用,学习包、接口、内部类的定义和使用。
二、实验内容和步骤第一题:(p56实验32)编写一个Java程序,在程序中定义一个PersonA类,定义一个Person类的子类StudentA类,再定义一个C1类,在main()方法中,生成StudentA的对象。
程序代码:class PersonA{private String name;public void setName(String newName){name=newName;}public String getName(){return name;}}class StudentA extends PersonA{private String department;public void setDepartment(String newDepartment){department=newDepartment;}public String getDepartment(){return department;}}class C1{public static void main(String[] args)StudentA s1=new StudentA();s1.setName("张三");s1.setDepartment("计算机系");System.out.println("你好,我是:"+s1.getName());System.out.println("我是"+s1.getDepartment()+"的学生");}}程序运行结果:第二题:(p58 实验33)编写一个Java 程序,在程序中定义一个PersonB类,定义一个PersonB类的子类StudentB类,再定义一个C2类,在main()方法中生成StudentB类的两个对象。
Java SE实验报告4
实验四:Swing高级控件使用班级:姓名:学号:实验目的:通过工具栏、菜单等高级控件的使用,掌握Java中GUI程序设计的方法。
实验内容:工具栏的使用;菜单的使用;通用对话框的使用;JTree的使用。
实验步骤:1.实验步骤01.学习工具栏的使用02.学习菜单的使用03.学习对话框的使用04.学习JTree的使用2.实验源代码01.工具栏实验源代码import javax.swing.*;import java.awt.*;public class ToolBarDemo extends JFrame {private JPanel p;//声明工具栏private JToolBar toolBar;private JButton btnCopy,btnPost,btnCut;public ToolBarDemo() {super("工具栏");p = new JPanel();//创建工具栏toolBar=new JToolBar();//将工具栏对象添加到窗体的上方(北面)this.add(toolBar,BorderLayout.NORTH);//创建按钮对象,按钮上有图片btnCopy=new JButton(new ImageIcon("E:\\1.gif"));btnPost=new JButton(new ImageIcon("E:\\2.gif"));btnCut=new JButton(new ImageIcon("E:\\3.gif"));//设置按钮的工具提示文本btnCopy.setToolTipText("复制");btnPost.setToolTipText("粘贴");btnCut.setToolTipText("剪切");//将按钮添加到工具栏中toolBar.add(btnCopy);toolBar.add(btnPost);toolBar.add(btnCut);this.add(p);this.setSize(200, 150);this.setLocation(100, 100);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String[] args) {ToolBarDemo f = new ToolBarDemo();f.setVisible(true);}}实验代码分析实验定义一个JtoolBar变量,3个Jbutton变量,对三个JButton变量分别赋予剪切、复制、粘贴。
实验四Java事件处理汽院含答案
实验四Java事件处理汽院含答案实验四 Java事件处理实验目的1( 掌握Java语言中的事件处理方法2( 掌握Java语言中事件源、监视器和处理事件的接口的概念实验导读1( Java事件处理简介学习组件除了了解组件的属性和功能外,学习组件除了了解组件的属性和功能外,一个更重要的方面是学习怎样处理组件上发生的界面事件。
当用户在文本框中输入文本后按Enter键、单击按钮、在一个下拉列表框中选择一个条目等操作时,都发生界面事件。
在学习处理事件时,必须很好地掌握事件源、监视器、处理事件的接口这三个概念。
事件源:能够产生事件的对象都可以成为事件源,如文本框、按钮、下拉式列表等。
也就是说,事件源必须是一个对象,而且这个对象必须是Java认为能够发生事件的对象。
监视器:需要一个对象对事件源进行监视,以便对发生的事件作出处理。
事件源通过调用相应的方法将某个对象作为自己的监视器。
例如,对于文本框,这个方法是: addActionListener(监视器);对于获取了监视器的文本框,当文本框获得输入焦点之后,如果用户按Enter 键,Java运行系统就自动用ActionEvent类创建一个对象,即发生了ActionEvent事件。
也就是说,事件源获得监视器后,相应的操作就会导致事件的发生,并通知监视器,监视器就会做出相应的处理。
处理事件的接口:监视器负责处理事件源发生的事件。
监视器是一个对象,为了让监视器这个对象能对事件源发生的事件进行处理,创建该监视器对象的类必须声明实现相应的接口,即必须在类体中给出该接口中所有方法的方法体,那么当事件源发生事件时,监视器就自动调用类实现的某个接口中的方法。
2( 文本框上的ActionEvent事件java.awt.event包中提供了许多事件类和处理各种事件的接口。
对于文本框,这个接口的名字是ActionListener,这个接口中只有一个方法: public void actionPerformed(ActionEvent e)当在文本框中输入字符并按Enter键时,java.awt.event包中的ActionEvent 类自动创建一个事件对象,并将它传递给actionPerformed(ActionEvent e)方法中的参数e,监视器自动调用这个方法对发生的事件做出处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
班级计科1201 姓名:学号 6 成绩实验4—— Java的输入机制I 实验目的(1). Java如何操作文件(2).了解Java中的输入机制;如何从控制台输入,如何用InputStream和Reader显示文件中的内容。
II 实验内容(1). 递归遍历目录,显示其中的文件名。
a.源代码b.package com.fileTest;c.d.import java.io.File;e.f.public class BianLi { // 遍历目录,显示文件的名字g.h./**i.* @param argsj.*/k.public static void main(String[] args) {l.m.File f = new File("D:/360安全浏览器下载"); //创建一个File对象n.listChids(f); //调用一个列出目录的方法o.p.}q.r.s.t.public static void listChids(File f){u.v.System.out.println(f.getName());w.x.if(!f.isDirectory()){ //如果不是目录,退出y.z.return ;aa.}else{bb.cc.File[] fs = f.listFiles();dd.for(int i=0;i<fs.length;i++){ee.ff.listChids(fs[i]);gg.hh.}ii.}jj.}kk.}ll.运行截图(2).用InputStream的子类读入一个英文文本文件,并用System.out显示其中的内容。
a.源代码b.package com.fileTest;c.d.import java.io.*;e.f.public class Fileinput {g.h./**i.* @param argsj.*/k.public static void main(String[] args)throws IOExceptionl.{m.// TODO Auto-generated method stubn.o.String file = "src/abc.java"; // 英文本文件p.Fileinput d = new Fileinput(); //实列化对象q. d.readFile(file); // 调用readFile 方法r.s.}t.u.public void readFile(String fileName) throws IOException{v.InputStream in = new FileInputStream(fileName); // 创建字节流对象w.x.// TODO Auto-generated method stuby.try{z.int b = 0 ;aa.while(true)bb.{cc. b = in.read();//得到内容判断是否结束dd.if(b==-1)ee.break;ff.System.out.print((char)b);// 得到内容进行处理,转换成字符型输出gg.hh.}ii.}finally{jj.if(in!=null)kk.in.close(); //关闭流ll.}mm.nn.}oo.pp.}qq.运行截图rr.(3).用Reader的子类读入一个字符文件,并用System.out显示其中的内容。
1源代码package com.fileTest;import java.io.*;public class FileReaderBy {/*** @param args* @throws IOException**/public static void main(String[] args) throws IOException {// TODO Auto-generated method stubFileReaderBy a = new FileReaderBy(); //创建一个对象a.readFile("src/fly.txt"); //调用方法读入字符文件}public void readFile(String filename) throws IOException {// TODO Auto-generated method stubBufferedReader b = null;try{b =new BufferedReader(new FileReader(filename),8*1024);String line = null;//得到内容并判断是否到流的末尾while((line = b.readLine())!=null){//得到的内容进行处理S ystem.out.println(line);// 输出结果}}finally{if(b!=null)b.close(); //关闭流}}}运行截图(4).从控制台输入Student类的信息,包括学号、姓名、年龄,如输入错误,提示用户重新输入。
创建该类,并在toString方法中输入个人信息。
1源package FileInput;import com.java.ErrorException;public class Students {// 学号private long num ;//姓名private String name ;//年龄private int age;public Students(){}public void setId(long num){this.num = num;}public void setName(String name){ = name ;}public void setAge(int age)throws ErrorException{ if(age<0||age>120)t hrow new ErrorException();this.age= age;}@Override public String toString(){return num+" "+name+" "+age; //返回个人信息}}代码public class ByScanner {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubStudents s = new Students();Scanner sc = new Scanner (System.in);int id =0;String name=null; ;int age =0 ;String len = null;while(true){try{System.out. println("请输入学号");len= sc.nextLine();id = Integer.parseInt(len); s.setId(id);break;}catch(Exception e){ sc.nextLine();System.out.println(" Input error,please innput again!");}}while(true){try{System.out. println("请输入姓名");name = sc.next();s.setName(name);break;}catch(Exception e){ sc.nextLine();System.out.println(" Input error,please innput again");}}while(true){try{System.out. println("请输入年龄");age = sc.nextInt();s.setAge(age);break;}catch(Exception e){ sc.nextLine();System.out.println(" Input error,please innput again");}}System.out.println("该学生的信息为:"+ s.toString());}}运行截图(5).增加(1)中的功能,显示文件的大小,目录的话显示其中包括的所有文件的大小。
注意显示文件大小的单位(KB或MB)。
a.源代码b.package filebianli;c.d.e.import java.text.DecimalFormat;f.import java.io.*;g.public class Bianlih.{i.public long getFileSizes(File f) throws Exception{//取得文件大小j.long s=0;k.if (f.exists()) {l.FileInputStream fis= new FileInputStream(f);m.s= fis.available();n.} else {o. f.createNewFile();p.System.out.println("文件不存在");q.}r.return s;s.}t.// 递归u.public long getFileSize(File f)throws Exception//取得文件夹大小v.{w.long size = 0;x.File flist[] = f.listFiles();y.for (int i = 0; i < flist.length; i++)z.{aa.if (flist[i].isDirectory())bb.{cc.size = size + getFileSize(flist[i]);dd.} elseee.{ff.size = size + flist[i].length();gg.}hh.}ii.return size;jj.}kk.public String FormetFileSize(long fileS) {//转换文件大小ll.DecimalFormat df = new DecimalFormat("#.00");mm.String fileSizeString = "";nn.if (fileS < 1024) {oo.fileSizeString = df.format((double) fileS) + "B";pp.} else if (fileS < 1048576) {qq.fileSizeString = df.format((double) fileS / 1024) + "K"; rr.} else if (fileS < 1073741824) {ss.fileSizeString = df.format((double) fileS / 1048576) + "M";tt.} else {uu.fileSizeString = df.format((double) fileS / 1073741824) + "G";vv.}ww.return fileSizeString;xx.}yy.zz.public long getlist(File f){//归求取目录文件个数aaa.bbb.System.out.println(f.getName());ccc.long size = 0;ddd.File flist[] = f.listFiles();eee.size=flist.length;fff.for (int i = 0; i < flist.length; i++) {ggg.if (flist[i].isDirectory()) {hhh.size = size + getlist(flist[i]);iii.size--;jjj.}kkk.}lll.return size;mmm.nnn.}ooo.ppp.public static void main(String args[])qqq.{rrr.Bianli g = new Bianli();sss.ttt.tryuuu.{vvv.long l = 0;www.xxx.File f = new File( "D:/360安全浏览器下载");yyy.if (f.isDirectory()) { //如果路径是文件夹的时候zzz.System.out.println("文件个数" + g.getlist(f));aaaa.System.out.println("目录");bbbb.l = g.getFileSize(f);cccc.System.out.println( "目录的大小为:" + g.FormetFileSize(l)); dddd.} else {eeee.System.out.println(" 文件个数1");ffff.System.out.println("文件");gggg.l = g.getFileSizes(f);hhhh.System.out.println( "文件的大小为:" + g.FormetFileSize(l)); iiii.}jjjj.kkkk.} catch (Exception e)llll.{mmmm. e.printStackTrace();nnnn.}oooo.}pppp.}qqqq.rrrr.运行截图ssss.tttt.III 在本次实验中的问题和解决方法那个第四题当输入学号如果是0开头,那输出结果就会被舍弃因为不是一个数,如果非要输入0开头的学号,还没找到解决的办法,解决了那个输学号空格问题,解决年龄超过一定数和负数问题,文件显示大小出现的问题,看了下博客园的写的。