java实验六
- 格式:docx
- 大小:27.72 KB
- 文档页数:5
java基础实验报告Java基础实验报告引言:Java作为一种面向对象的编程语言,广泛应用于软件开发领域。
本次实验旨在通过一系列的实验任务,加深对Java基础知识的理解,并掌握Java编程的基本技巧。
实验一:Java环境搭建在本实验中,我们首先需要搭建Java开发环境。
Java开发工具包(JDK)是进行Java编程的基础,我们可以从Oracle官网上下载并安装最新版本的JDK。
安装完成后,我们需要配置环境变量,以便在命令行中能够直接运行Java相关的命令。
实验二:Java语言基础Java语言基础是进行Java编程的基石。
在本实验中,我们需要掌握Java的基本语法规则、数据类型和运算符等。
通过编写简单的程序,如计算两个数的和、判断一个数是否为素数等,加深对Java语言基础的理解。
实验三:面向对象编程面向对象编程是Java的核心特性之一。
在本实验中,我们需要学习Java中的类和对象的概念,并通过编写简单的类和对象来实现一些功能。
例如,创建一个学生类,包含姓名、年龄和成绩等属性,并实现一些与学生相关的操作方法。
实验四:异常处理异常处理是Java编程中重要的一部分。
在本实验中,我们需要学习Java中的异常处理机制,并通过编写代码来处理可能出现的异常情况。
例如,通过try-catch语句来捕获并处理用户输入非法字符的异常。
实验五:文件操作在实际的软件开发中,文件操作是非常常见的需求。
在本实验中,我们需要学习Java中的文件操作相关的类和方法,并通过编写代码来实现文件的读取和写入等功能。
例如,读取一个文本文件中的内容,并将其写入到另一个文件中。
实验六:多线程编程多线程编程是提高程序性能和效率的一种方式。
在本实验中,我们需要学习Java中的多线程编程相关的知识,并通过编写代码来实现多线程的应用。
例如,创建多个线程来同时下载多个文件,并实现进度条的显示。
结论:通过完成以上一系列的实验任务,我们对Java基础知识有了更深入的理解,并掌握了Java编程的基本技巧。
java实验实验报告Java 实验实验报告一、实验目的本次 Java 实验的主要目的是通过实际操作和编程实践,深入理解和掌握 Java 编程语言的基本概念、语法结构、面向对象编程的思想以及常用类库的使用。
同时,培养我们解决实际问题的能力和编程思维,提高代码的质量和可读性。
二、实验环境1、操作系统:Windows 102、开发工具:IntelliJ IDEA3、 JDK 版本:18三、实验内容(一)基本语法练习1、数据类型与变量在 Java 中,我们学习了不同的数据类型,如整数类型(`int`、`long`)、浮点数类型(`float`、`double`)、字符类型(`char`)和布尔类型(`boolean`)。
通过定义和使用这些变量,我们能够存储和操作各种类型的数据。
```javaint age = 25;double salary = 500050;char grade ='A';boolean isStudent = true;```2、控制结构包括条件语句(`ifelse`、`switch`)和循环语句(`for`、`while`、`dowhile`)。
这些控制结构使我们能够根据不同的条件执行不同的代码块,或者重复执行一段代码。
```javaint num = 10;if (num > 5) {Systemoutprintln("Number is greater than 5");} else {Systemoutprintln("Number is less than or equal to 5");}switch (num) {Systemoutprintln("One");break;case 10:Systemoutprintln("Ten");break;default:Systemoutprintln("Unknown");}for (int i = 0; i < 5; i++){Systemoutprintln(i);}int count = 0;while (count < 3) {Systemoutprintln("Count: "+ count);count++;}count = 0;Systemoutprintln("Count: "+ count);count++;} while (count < 3);```(二)面向对象编程1、类与对象创建了自定义的类来表示现实世界中的实体。
《JAVA语言程序设计》实验报告(六)类的继承性和多态性张鑫2015-11-13实验名称: ________________ 指导教师: ___________ 实验日期:________________LX3_8 s1 = new LX3_8() ;s1.setdata("郭丽娜",12345); //调用父类的成员方法s1.xy="经济管理学院"; //访问本类的成员变量s1.xi="信息管理系"; //访问本类的成员变量s1.print();System.out.print(s1.xm+", "+s1.xy+", "+s1.xi);}}图1 程序执行结果2.了解成员方法的覆盖方式(1)方法覆盖的定义与作用通过继承子类可以继承父类中所有可以被子类访问的成员方法, 但如果子类的方法与父类方法同名, 则不能继承, 此时称子类的方法覆盖了父类的方法, 简称为方法覆盖(override)。
方法覆盖为子类提供了修改父类成员方法的能力。
例如, 子类可以修改层层继承下来的Object 根类的toString 方法, 让它输出一些更有用的信息。
下面的程序显示了在子类Circle 中添加toString 方法, 用来返回圆半径和圆面积信息。
(2)编写覆盖Object 类toString 方法的程序文件LX3_9.java。
源代码class Circle {private int radius;Circle(int r) {setRadius(r);}public void setRadius(int r) {radius=r;}public int getRadius() {return radius;}public double area() {return 3.14159*radius*radius;}public String toString() {return "圆半径: "+getRadius()+" 圆面积: "+area();}}public class LX3_9{public static void main(String args[]) {Circle c=new Circle(10);System.out.println("\n"+c.toString());}}图2 程序执行结果(3)程序结构分析。
实验六类的继承性和多态性【开发语言及实现平台或实验环境】Windows2000 或XP,JDK1.6【实验目的】1.掌握OOP方式进行程序设计的方法,2.了解类的继承性和多态性的作用。
【实验要求】1.编写体现类的继承性(成员变量,成员方法,成员变量隐藏)的程序。
2.编写体现类多态性(成员方法重载,构造方法重载)的程序。
【实验内容】1.假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性:姓名、工号以及工资。
经理也是员工,除了含有员工的属性外,另外还有一个奖金属性。
请使用继承的思想设计出员工类和经理类。
要求类中提供必要的方法进行属性访问。
程序:class Staff {String f(String name,String id,double wagers){return "员工:"+" 姓名 "+name+" 工号 "+id+" 工资 "+wagers;}String g(String name,String id,double wagers,double bonus){return "经理:"+" 姓名 "+name+" 工号"+id+" 工资"+wagers+" 奖金"+bonus;}}class Manager extends Staff{String g(String name,String id,double wagers,double bonus){return "经理:"+" 姓名 "+name+" 工号"+id+" 工资"+wagers+" 奖金"+bonus;}}public class Example1 {public static void main(String[] args){Manager cheng;cheng=new Manager();System.out.println(cheng.f("成大燕", "1101308388", 2600));System.out.println(cheng.g("成小燕","1101308326",3000,1000));}}运行结果:2.定义一个自己的数学类MyMath。
第六次实验:继承与多态一、实验目的了解如何使用类及其成员的修饰符,理解类的继承性,掌握方法的继承、重载和覆盖。
二、实验要求1.编写体现类的多态性(成员方法重载)的程序。
2.编写构造方法重载的程序。
3.编写体现类的继承性(成员变量、成员方法的继承)的程序。
三、实验内容(一)类的多态性练习1.理解类的多态性类的继承发生在多个类之间,而类的多态只发生在同一个类上。
在一个类中,可以定义多个同名的方法,只要确定它们的参数个数和类型不同。
这种现象称为类的多态。
多态使程序简洁,为程序员带来很大便利。
在OOP 中,当程序要实现多个相近的功能时,就给相应的方法起一个共同的名字,用不同的参数代表不同的功能。
这样,在使用方法时不论传递什么参数,只要能被程序识别就可以得到确定的结果。
类的多态性的一种体现就是方法的重载(overload)上,包括成员方法和构造方法的重载。
2.方法的重载方法的重载是指对同名方法的不同使用方式。
1)程序功能:对不同的数进行排序输出。
在IntSort 类中定义2 个同名的方法sort。
2)编写KY6_1.java 文件,源代码如下。
class IntSort {public String sort (int a, int b) {if (a>b)return a+" "+b;elsereturn b+" "+a;}public String sort (int a, int b, int c) {int swap;if (a<b) {swap=a;a=b;b=swap;}if (a<c) {swap=a;a=c;c=swap;}if (b<c) {swap=b;b=c;c=swap;}return a+" "+b+" "+c;}}public class KY6_1 {public static void main(String args[]){int a=30, b=12, c=40;IntSort s=new IntSort();System.out.println("两个数的排序结果:"+s.sort(a,b));System.out.println("三个数的排序结果:"+s.sort(a,b,c));}}3)编译KY6_1.java并运行程序4)将程序的输出结果记录在实验报告中。
实验一:实验目的●学习下载最新版本的JDK。
●学习安装与设置JDK运行环境。
●解决JDK开发环境配置中的常见问题。
实验二:实验目的●了解Java应用程序的结构。
●学习Java应用程序源程序的编辑。
●学习Java源程序的编译。
●学习Java应用程序的运行。
●学习解决Java源程序编译过程中的常见问题。
实验要求编写一个比较简单的Java应用程序,该程序将会在命令提示符窗口下输出一句话:Java 世界欢迎你!实验三:实验目的●了解Java小程序的结构。
●学习Java小程序的编译、运行。
●了解Html语言中的Applet标签。
实验四:实验目的●学习标识符的命名规则。
●学习基本数据类型变量的声明。
●学习基本数据类型变量的初始化。
●明确局部变量使用前初始化的意义。
●学习常量的使用。
实验要求编写一个Java 程序,在程序中声明各种基本数据类型的变量,对它们进行初始化,再显示它们各自的值;定义一个双精度数据类型的常量,并显示它的值。
实验五:实验目的●学习算术运算符中的求模运算。
●学习算术运算符中的自增运算。
●学习算术运算符中的自减运算。
实验要求编写一个Java 程序,在程序中进行求模运算、自增和自减运算。
实验五:实验目的●学习算术运算符中的求模运算。
●学习算术运算符中的自增运算。
●学习算术运算符中的自减运算。
实验要求编写一个Java 程序,在程序中进行求模运算、自增和自减运算。
实验六:实验目的●学习算术运算符中的整数除法。
●学习算术运算符中的浮点数除法。
●学习算术运算符中的整数与浮点数混合除法。
实验要求编写一个Java 程序,在程序中进行整数除法、浮点数除法和整数与浮点数混合除法运算。
实验七:实验目的●学习逻辑运算符中的与运算。
●学习逻辑运算符中的或运算。
●学习逻辑运算符中的非运算。
实验要求编写一个Java 程序,在程序中进行与运算、或运算和非运算。
实验八:实验目的●学习字符串转换为数值型数据的方法。
●学习数值型数据转换成字符串的方法。
实验一、安装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[]){//在屏幕上显示“HELLO WORLD”和爱心标志}}5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”和爱心标志。
实验结果五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、说明本次实验建议学时数2学时七、实验总结与体会实验二、基本语法练习一、实验目的⒈熟悉Java的基本语法⒉编写应用程序接收命令行参数⒊编写应用程序接收用户从键盘的输入⒋掌握字符串与数组的基本方法二、预习内容java编程的基本结构三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。
应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。
(1)编辑A verage.java。
class A verage{public static void main(String args[ ]){double n,sun=0;for (int l=0;l<args.legth;l++){sum=sum+Double.valueOf(arg[l].doubleV alue();)}n=sum/args.length;System.out.println(“average=”+n);}}命令行参数:12.34 34.45 21212121注意:1)参数的个数可以利用args.length来取得。
实验6 图形用户界面编程实验时间:2012年12月18日一、实验目的与要求1、掌握Java语言的基本图形用户界面技术——swing组件对象的定义和应用方法,并能够在应用程序中应用这些对象。
2、学习java事件的处理方法。
二、实验内容1、在一个面板里面输出一个字符串,字符串随着鼠标移动。
三、实验器材微机+windows操作系统+eclipse四、实验步骤import java.awt.*;import java.awt.event.*;import javax.swing.*;public class mousemotion extends JPanel{int x=20,y=20;int mode=0;//表示绘制模式public mousemotion(){addMouseMotionListener(new MouseMotionListener(){public void mouseDragged(MouseEvent e){mode=1;//拖动模式x=e.getX();y=e.getY();repaint();}public void mouseMoved(MouseEvent e){mode=2;//移动模式x=e.getX();y=e.getY();repaint();}});}public void paintComponent(Graphics g){switch(mode){case 1: g.clearRect(0,0,400,200);g.setFont(new Font("宋体",Font.BOLD,g.getFont().getSize()+10));draw(g,x,y);break;case 2: g.clearRect(0,0,400,200);draw(g,x,y);break;}}public void draw(Graphics g,int x,int y){g.drawString("Hello, Java世界",x,y);}public Dimension getPreferredSize(){return new Dimension(400,200);}public static void main(String args[]){JFrame frame=new JFrame();frame.add(new mousemotion());frame.setTitle("鼠标移动事件示例");frame.setSize(400,200);frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}五、实验结果运行程序出现一个面板,面板中出现字符串“Hello, Java世界”,这个字符串随着鼠标移动。
实验名称:实验6:Java常用实用类班级:姓名:学号:一、实验目的熟悉Java 中的常用实用类。
二、实验内容与结果(说明:按实验任务分别填写任务描述、处理思路及关键技术说明、程序源码和运行结果截图,不要心得与体会。
)任务1:String类的public char charAt(int index)方法可以得到当前字符串index 位置上的一个字符。
编写程序使用该方法得到一个字符串中的第一个和最后一个字符。
package test;import java.util.*;public class test1 {public static void main(String args[]){String a = "tangguozhen";System.out.println(a.charAt(0));System.out.println(a.charAt(a.length()-1));}}任务2:编写程序剔除一个字符串中的全部非数字字符,例如,将形如“ab123you”的非数字字符全部剔除,得到字符串“123”(参看例子10)。
package test;import java.util.*;public class test1 {public static void main(String args[]){String a = "ab123you";System.out.println(a.replaceAll("\\D",""));}}任务3:使用Scanner类的实例解析字符串:"数学87分,物理76分,英语96分"中的考试成绩,并计算出总成绩以及平均分数(参看例子14)。
package test;import java.util.*;public class test1{public static void main(String args[]){String scoure = "数学87分,物理76分,英语96分";Scanner fenxi = new Scanner(scoure);eDelimiter("[^0123456789.]+");double m,p,e;m = fenxi.nextDouble();p = fenxi.nextDouble();e = fenxi.nextDouble();System.out.println(m+p+e);System.out.println((m+p+e)/3);}}任务4:计算某年、某月、某日和某年、某月、某日之间的天数间隔。
java实验报告:实验六一、实验目的本次实验的主要目的是深入理解和掌握 Java 中的一些关键概念和技术,包括面向对象编程的特性、异常处理机制以及文件操作等。
通过实际的编程实践,提高我们运用 Java 解决实际问题的能力。
二、实验环境本次实验使用的开发工具是 IntelliJ IDEA,操作系统为 Windows 10。
三、实验内容(一)面向对象编程实践1、定义一个名为“Student”的类,包含学生的姓名、学号和成绩等属性,并实现相应的 getter 和 setter 方法。
2、在主函数中创建“Student”类的对象,并对其属性进行赋值和输出。
(二)异常处理1、编写一个方法,实现两数相除的运算。
如果除数为 0,抛出“ArithmeticException”异常。
2、在主函数中调用该方法,并使用trycatch 语句捕获并处理异常。
(三)文件操作1、创建一个文本文件,并向其中写入一些数据。
2、读取该文件中的数据,并将其输出到控制台。
四、实验步骤(一)面向对象编程实践1、首先,在 IntelliJ IDEA 中创建一个新的 Java 项目。
2、然后,创建“Student”类,代码如下:```javapublic class Student {private String name;private int studentId;private double score;public String getName(){return name;}public void setName(String name) {thisname = name;}public int getStudentId(){return studentId;}public void setStudentId(int studentId) {thisstudentId = studentId;}public double getScore(){return score;}public void setScore(double score) {thisscore = score;}}```3、在主函数中创建“Student”类的对象,并对其属性进行赋值和输出,代码如下:```javapublic class Main {public static void main(String args) {Student student = new Student();studentsetName("张三");studentsetStudentId(1001);studentsetScore(905);Systemoutprintln("学生姓名:"+ studentgetName());Systemoutprintln("学生学号:"+ studentgetStudentId());Systemoutprintln("学生成绩:"+ studentgetScore());}}```(二)异常处理1、编写一个名为“divide”的方法,实现两数相除的运算,代码如下:```javapublic class ExceptionHandling {public static double divide(double num1, double num2) {if (num2 == 0) {throw new ArithmeticException("除数不能为 0");}return num1 / num2;}public static void main(String args) {try {double result = divide(10, 0);Systemoutprintln("结果:"+ result);} catch (ArithmeticException e) {Systemoutprintln("捕获到异常:"+ egetMessage());}}}```(三)文件操作1、创建一个名为“FileOperation”的类,用于实现文件的写入和读取操作,代码如下:```javaimport javaioBufferedWriter;import javaioFileWriter;import javaioIOException;import javaioBufferedReader;import javaioFileReader;public class FileOperation {public static void writeToFile(String filePath, String content) {try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))){writerwrite(content);} catch (IOException e) {eprintStackTrace();}}public static String readFromFile(String filePath) {StringBuilder content = new StringBuilder();try (BufferedReader reader = new BufferedReader(new FileReader(filePath))){String line;while ((line = readerreadLine())!= null) {contentappend(line)append("\n");}} catch (IOException e) {eprintStackTrace();}return contenttoString();}public static void main(String args) {String filePath ="testtxt";String data ="这是写入文件的内容";writeToFile(filePath, data);String readData = readFromFile(filePath);Systemoutprintln("读取到的文件内容:\n" + readData);}}```五、实验结果(一)面向对象编程实践成功创建了“Student”类的对象,并正确地对其属性进行了赋值和输出。
实验六、图形用户界面设计一、猜数字游戏1、实验目的:●本实验的目的是让学生学习处理ActionEvent事件●掌握GridLayout布局2、实验要求:按钮可以发生ActionEvent事件,当按钮获得监视器之后,单击它,就发生ActionEvent事件,即java.awt.event包中的ActionEvent类自动创建了一个事件对象。
要求程序中有2个按钮buttonGetNumber 和buttonEnter,用户单击buttonGetNumber按钮可以获得一个随机数,然后在一个文本框中输入猜测,再单击按钮buttonEnter,程序根据用户的猜测给出提示信息。
3、程序效果示例程序效果如下图所示:4、程序模板按模板要求,将[代码1]~[代码9]替换为java程序代码。
GuessNumber.javaimport java.awt.*;import java.awt.event.*;import java.applet.*;class GuessNumber extends Applet implements ActionListener{int number;TextField inputNumber;Label feedBack;Button buttonGetNumber,buttonEnter;public void init( ){ buttonGetNumber=new Button("得到一个随机数");feedBack=new Label("无反馈信息",Label.CENTER);feedBack.setBackground(Color.green);inputNumber=new TextField("0",5);buttonEnter=new Button("确定");[代码1] //按钮buttonEnter增加ActionEvent事件监视器,监视器为当前窗口[代码2] //按钮buttonGetNumber增加ActionEvent事件监视器,监视器为当前窗口Panel p=new Panel();p.setLayout(new GridLayout(4,2));p.add(new Label("获取1-100之间的随机数"));p.add(buttonGetNumber);p.add(new Label("输入您的猜测"));p.add(inputNumber);p.add(new Label("单击确定按钮"));p.add(buttonEnter);p.add(new Label("反馈信息"));p.add(feedBack);add(p);}public void actionPerformed(ActionEvent e){if([代码3]) //判断事件源是否是buttonGetNumber{number=(int)(Math.random()*100)+1;}else if([代码4]) //判断事件源是否是buttonEnter{int guess=0;try{guess=Integer.parseInt[代码5]); //返回inputNumber中的文本if(guess==number){[代码6] // feedBack设置提示文本“猜对了!”}else if(guess>number){[代码7] // feedBack设置提示文本“猜大了!”inputNumber.setText(null);}else if(guess<number){[代码8] // feedBack设置提示文本“猜小了!”inputNumber.setText(null);}}catch(NumberFormatException event){[代码9] // feedBack设置提示文本“请输入数字字符!”}}}}Applet程序需要网页文件来运行,<APPLET CODE="GuessNumber.class" WIDTH="400" HEIGHT="300"></APPLET>5、实验指导1. Button对象可以发生ActionEvent类型事件。
北京林业大学2013 学年— 2014 学年第 2学期 Java程序设计基础实验报告书专业:电子班级: 11-2 姓名:王云飞学号:实验地点:计算机中心任课教师:黄儒乐实验题目:图形用户界面编程实验环境: Windows2000/XP;局域网实验要求:1. 对所有实验内容中涉及到的命令均要亲自实践,对照实验指导书进行。
2. 把实验中出现的问题以及最后解决的情况反馈到实验报告中。
3. 程序作业的源代码要求反馈到实验报告中。
实验内容:设计一个考试分数分布统计程序,要求该程序:1)提供输入界面,可输入考生姓名和分数;2)单击输入按钮,在登记考生姓名和分数的同时,立即绘制当前人数的分数分布统计饼图(分为优秀、良好、中等、不及格)3)参考界面如下:初始执行时,各个分数比例均匀分布。
然后逐个输入姓名和分数,点击输入后,左面显示姓名和分数,右面饼图同步更新。
实验目的:掌握图形用户界面中常用类的使用。
实现方法、实验结果及结论分析等:实验源代码:import java.awt.event.*;import java.awt.*;import javax.swing.*;public class Score extends JFrame{JPanel inputPanel=new JPanel();ShanXingTu figure =new ShanXingTu();JLabel labelName=new JLabel("姓名:");JLabel labelScore=new JLabel("分数:");JLabel labelRed = new JLabel("不及格(60以下)");JLabel labelYellow = new JLabel("优秀(100-90)");JLabel labelGreen = new JLabel("良好(89-75)");JLabel labelBlue = new JLabel("中等(74-60)");JTextField inputName=new JTextField(10);JTextField inputScore=new JTextField(10);JTextArea textArea=new JTextArea(20,16);JButton inputButton=new JButton("输入");JScrollPane scrollPane = new JScrollPane(textArea);int excellent = 0,good = 0,pass = 0,fail = 0;public Score(){setSize(400,300);setTitle("分数统计");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);setVisible(true);inputPanel.add(labelName);inputPanel.add(inputName);inputPanel.add(labelScore);inputPanel.add(inputScore);inputPanel.add(inputButton);inputButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){inputData(inputName.getText(),Double.parseDouble(inputScore.getText()));}});labelYellow.setForeground(Color.YELLOW);labelGreen.setForeground(Color.GREEN);labelBlue.setForeground(Color.BLUE);labelRed.setForeground(Color.RED);figure.add(labelYellow);figure.add(labelGreen);figure.add(labelBlue);figure.add(labelRed);figure.setBackground(Color.GRAY);add(inputPanel,"North");add(scrollPane,"West");add(figure,"Center");textArea.append("姓名\t分数\n");}void inputData(String name,double score){textArea.append(name+":\t "+score+"\n");if(score>=90){excellent++;}else if(score>=75){good++;}else if(score>=60){pass++;}else{fail++;}int sum = excellent + good + pass + fail;figure.a=360 * excellent / sum;figure.b=360 * good / sum;figure.c=360 * pass / sum;figure.d=360 * fail / sum;figure.repaint();}public static void main(String args[]){JFrame score = new Score();}}class ShanXingTu extends JPanel{public void paintComponent(Graphics g){super.paintComponent(g);g.setColor(Color.YELLOW);g.fillArc (x,y,len,len,0,a);g.setColor(Color.GREEN);g.fillArc(x,y,len,len,a,b);g.setColor(Color.BLUE);g.fillArc(x,y,len,len,a + b,c);g.setColor(Color.RED);g.fillArc(x,y,len,len,a + b + c,d);}int a=90,b=90,c=90,d=90;int x=20;int y=50;int len=160; }实验结果:。
实验六 Java异常处理一、实验目的1)掌握Java异常的概念及工作机制2)掌握异常的分类3)掌握抛出异常语句的使用(throw)4)掌握抛出捕获处理异常语句的使用(try…catch…finally)5)掌握上抛异常语句的使用(throws)6)掌握创建自定义异常二、实验环境JDK1.6+Eclpise3.2三、实验准备1)复习课件中理论知识2)练习课堂所讲的例子四、实验内容1、编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。
测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。
2、计算两个正数之和,当任意一个数超出范围时,抛出自己定义的异常(NumberRangeException)。
五、实验过程及结果第1题调试结果如下图:第2题调试结果如下图:六、实验感想本次实验掌握Java异常的概念及工作机制,了解异常的分类,掌握抛出异常语句的使用(throw)、抛出捕获处理异常语句的使用(try…catch…finally)及上抛异常语句的使用(throws)和创建自定义异常等。
七、附录第1题源码:package zsl;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class one {public static void main (String[] args) throws IOException{System.out.println("请输入园的直径:");BufferedReader br=new BufferedReader(new InputStreamReader(System.in) );try{System.out.println("圆的面积为:"+computerArea(Double.parseDouble(br.readLine())));}catch(NumberFormatException e) {System.out.println("你输入的不是数值,请重新输入");}}public static double computerArea (double r){return Math.PI*r*r;}}第2题源码:NumberRangeException.javapackage zsl;public class NumberRangeException extends Exception {public NumberRangeException (String msg){super(msg);}}secendMain.javapackage zsl;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class secendMain {public static void main (String[] args) throws IOException{System.out.println("请输入两个正整数:");BufferedReader br=new BufferedReader(new InputStreamReader(System.in) );int a=Integer.parseInt(br.readLine());int b=Integer.parseInt(br.readLine());try {System.out.println("计算结果(求和)为:"+compute (a,b));}catch(NumberFormatException e) {e.printStackTrace();} catch (NumberRangeException e) {// TODO 自动生成catch 块e.printStackTrace();}}private static int compute(int a, int b) throws NumberRangeException {// TODO 自动生成方法存根if (a<0||b<0){throw new NumberRangeException("数不在指定的范围内");}return (a+b);}}。
目录实验1: JDK开发工具 (3)实验2: Java语言基础 (5)实验3:控制语句 (8)实验4:方法 (10)实验5:数组 (12)实验6:面向对象的程序设计 (14)实验7:字符串处理 (18)实验8:异常处理 (20)实验9:Java中的输入输出…………………………22实验10:多线程 (25)实验11:布局管理器的使用 (28)实验12:事件处理模式 (30)实验13: Swing组件 (32)实验14: Applet小程序使用………………………33实验15: Applet高级应用 (36)实验1: JDK开发工具一、实验目的1.熟悉JDK开发环境。
2.掌握Java Application的程序结构和开发过程。
3.掌握Java Applet的程序结构和开发过程。
二、实验内容1.JDK开发环境(1)JDK1.4.2开发环境安装在"C:\JDK1.4.2_05\"目录下。
(2)设置环境变量PATH和CLASSPATH(如果在autoexec.bat中没有进行设置)。
进入命令行(MS-DOS)方式,进行如下设置:SET PA TH=c:\jdk1.4.2_05\bin;%PATH%SET CLASSPATH=.; c:\jdk1.4.2_05\lib\dt.jar; c:\jdk1.4.2_05\lib\tools.jar 2.掌握Java Application程序开发过程(1)打开记事本(2)键入如下程序:import java.io.*;public class HelloWorld1{public static void main(String args[]){System.out.println("Hello World!");}}(3)检查无误后(注意大小写)保存文件。
可将文件保存在"D:\Java\"目录中,注意文件名为HelloWorld1.java。
JAVA第六次实验报告接口实验一1、实验题目体操比赛计算选手成绩的办法是去掉一个最高分和一个最低分再计算平均分,而学校考察一个班级的某科目的考试情况时,是计算全班学生的平均成绩。
Gymnastics 类和School 类都实现了ComputerAverage接口,但实现方式不同。
2、程序代码interfaceComputerAverage{public double average(double x[]);}class Gymnastics implements ComputerAverage{public double average(double x[]){int count=x.length;double aver=0,temp=0;for(inti=0;i<count;i++){< p="">for(int j=i;j<count;j++){< p="">if(x[j]<x[i]){< p="">temp=x[i];x[i]=x[j];x[j]=temp;}}}for(inti=1;i<count-1;i++){< p="">aver=aver+x[i];}if(count>2)aver=aver/(count-2);elseaver=0;return aver;}}class School implements ComputerAverage{public double average(double x[]){int count=x.length;double aver=0;for(inti=0;i<count;i++){< p="">aver=aver+x[i];}if(count>0)aver=aver/count;return aver;}}public class Estimator {public static void main(String args[]){double a[]={9.89,9.88,9.99,9.12,9.69,9.76,8.97};double b[]={89,56,78,90,100,77,56,45,36,79,98};ComputerAverage computer;computer=new Gymnastics();double result=computer.average(a);//computer调用average(double x[])方法,将数组a传递给参数xSystem.out.printf("%n");System.out.printf("体操选手最后得分:%5.3f\n",result);computer=new School();result=computer.average(b);//computer调用average(double x[])方法,将数组b 传递给参数xSystem.out.printf("班级考试平均分数:%-5.2f\n",result);}}3、实验结果4、实验分析一个类可以实现多个接口,类通过使用关键字implements声明自己实现一个或多个接口,如果一个非抽象类实现了某个接口,那么这个类必须重写该接口的所有方法。
实验6 ArrayList的使用
一、实验目的
1、掌握java中容器的概念;
2、掌握java中ArrayList的使用方法;
二、实验学时
2 学时
三、实验内容
1、按要求编写程序
1)创建一个可以容纳10个int的整形数组;
2)用20~30之间的随机数填充该数组;
3)分别用两种格式的for循环输出数组中的元素;package shiyan;
public class liti {
public static void main(String[] args) { //创建一个可以容纳10个int的整形数组
int[] a = new int[10];
//用20~30之间的随机数填充该数组
for (int i=0; i < a.length; i++) {
a[i] = (int)(Math.random()*11 + 20);
}
//分别用两种格式的for循环输出数组中的元素
for (int i=0; i< a.length; i++) {
int v = a[i];
System.out.print(v + " ");
}
System.out.println();
for (int v:a) {
System.out.print(v + " ");
}
System.out.println();
}
}
结果:
29 24 23 22 26 28 25 27 26 24
294 23 22 26 28 25 27 26 24
3、产生100个100~200之间的随机数,并保存到ArrayList中,求上述ArrayList中的
平均值,删除上述ArrayList中大于平均值的数,并输出ArrayList中剩余的数;package shiyan;
import java.util.ArrayList;
public class liti {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i=0; i<100; i++) {
int a = 100 + (int)(Math.random() * 101);
list.add(a);
}
int sum = 0;
for (int a : list) {
sum += a;
}
double avg = sum / list.size();
System.out.println("avg = " + avg);
// 删除上述ArrayList中小于平均值的数
for (int i=list.size() - 1; i>=0; i--) {
if (list.get(i) < avg) {
list.remove(list.get(i));
}
}
for (int a : list) {
System.out.println(a);
}
}
}
结果:
avg = 147.0
148
149
181 170 163 156 182 186 197 195 197 151 163 185 151 182 155 199 194 187 182 187 149 169 149 150 150 187 184 189 163 174 179 182 163 175 175 193 181 161 188 196 181 172 171
152
162
165
3、基于实验5中的Person类
创建4个对象(你自己、张三、李四、王五),把他们放入ArrayList中,求上述ArrayList 中的平均体重,输出大于平均体重的人的名字;分别用两种格式的for循环输出数组中的个人信息。
程序一:
package shiyan;
public class person {
private String name;
private int age;
private double height;
private double weight;
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
}
程序二:
package shiyan;
import java.util.ArrayList;
public class liti {
static void setPersonValue(person p) {
p.setHeight(1+Math.random() * 1.4);
p.setWeight(20 + Math.random() * 100);
}
static void addPerson(ArrayList<person> list, String name) { person p = new person();
p.setName(name);
setPersonValue(p);
list.add(p);
}
public static void main(String[] args) {
ArrayList<person> list = new ArrayList<person>();
addPerson(list, "张三");
addPerson(list, "李四");
addPerson(list, "赵五");
addPerson(list, "王继禹");
double sum = 0;
for (person p : list) {
sum += p.getWeight();
}
double avgWeight = sum / list.size();
System.out.println("average weight = " + avgWeight);
for (person p : list) {
if (p.getWeight() > avgWeight) {
System.out.println(p.getName());
}
}
}
}
结果:
average weight = 78.32553532449965
张三
赵五。