java实验六
java基础实验报告
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实验报告--6个实验
three=newComputerAver(four);
two=newDelScore(three);
one=newInputScore(two);
}
publicvoidgivePersonScore(){
one.inputScore();
}
}
publicclassComputerAver {
姓名
学号
实验组
实验时间
指导教师
吴红梅
成绩
实验项目名称
上机实践二 运算符、表达式和语句
实验环境
Eclipse
实验内容及结果
实验一托运行李
charge=(int)weight*trainCharge;
charge=(int)(weight+0.5)*carCharge;
charge=(int)(weight*1000+0.5)*planeCharge;
运行结果:tank1的炮弹数量:9
tank2的炮弹数量:8
实验三家族的姓氏
【代码1】FamilyPerson.surname="李";
【代码2】father.setName("向阳");
【代码3】father.setSurname("张");
运行结果:父亲:张向阳
大儿子:张抗日
二儿子:张抗战
指导教师意见
姓名
学号
实验组
实验时间
指导教师
吴红梅
成绩
实验项目名称
实验环境
Eclipse
实验内容及结果
实验一Tank类
【代码1】double speed;
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实验六
《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)程序结构分析。
JAVA第六次实验
实验六类的继承性和多态性【开发语言及实现平台或实验环境】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。
Java实验六
第六次实验:继承与多态一、实验目的了解如何使用类及其成员的修饰符,理解类的继承性,掌握方法的继承、重载和覆盖。
二、实验要求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)将程序的输出结果记录在实验报告中。
JAVA实验报告
实验一:实验目的●学习下载最新版本的JDK。
●学习安装与设置JDK运行环境。
●解决JDK开发环境配置中的常见问题。
实验二:实验目的●了解Java应用程序的结构。
●学习Java应用程序源程序的编辑。
●学习Java源程序的编译。
●学习Java应用程序的运行。
●学习解决Java源程序编译过程中的常见问题。
实验要求编写一个比较简单的Java应用程序,该程序将会在命令提示符窗口下输出一句话:Java 世界欢迎你!实验三:实验目的●了解Java小程序的结构。
●学习Java小程序的编译、运行。
●了解Html语言中的Applet标签。
实验四:实验目的●学习标识符的命名规则。
●学习基本数据类型变量的声明。
●学习基本数据类型变量的初始化。
●明确局部变量使用前初始化的意义。
●学习常量的使用。
实验要求编写一个Java 程序,在程序中声明各种基本数据类型的变量,对它们进行初始化,再显示它们各自的值;定义一个双精度数据类型的常量,并显示它的值。
实验五:实验目的●学习算术运算符中的求模运算。
●学习算术运算符中的自增运算。
●学习算术运算符中的自减运算。
实验要求编写一个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来取得。
java实验六报告
实验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世界”,这个字符串随着鼠标移动。
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 中的一些关键概念和技术,包括面向对象编程的特性、异常处理机制以及文件操作等。
通过实际的编程实践,提高我们运用 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”类的对象,并正确地对其属性进行了赋值和输出。
java第四章(实验六)
实验六、图形用户界面设计一、猜数字游戏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类型事件。
java实验报告(实验六)
北京林业大学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异常处理
实验六 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);}}。
java6 程序设计实验指导+课后习题答案
6.A abstract和final修饰符不能同时使用
B未给出类型定义,final int MAX_NUMBER=10;
C常量不能修改
D静态方法值能访问静态变量,static int data。或者把方法标志为非静态方法,int getData() E构造方法无返回值,把void去掉
F抽象类不能进行实例化,把abstract去掉
5、import语句在所有类定义之前,在package定义之后;
6、import只告诉编译器及解释器哪里可以找到类、变量、方法的定义,而并没有将这些定义引入代码中;
第5章
实验指导:
5.6.1.第一处需要填写的代码:i<st.length()
第二处需要填写的代码:st.indexOf("you")
5.6.2.第一处需要填写的代码:int i=0;i<a.length;i++;
publicvoid getMainMessage(Extendbroadable ext){ext.inPut();}
5.Constants.MAX_COUNT
6.interface B extends A{
public void printB();}
二、选择题
1.C 2.D 3.B 4.C 5.B 6.C 7.C 8.B 9.D 10.D 11.D 12.A
Java6程序设计实践教程实验指导+课后答案
阅读人数:207人页数:.java.exe 3.jdb.exe 4.标准字节码5.Java 6.独立于平台
二、选择题
1.B 2.A 3.B 4.A 5.A 6.C 7.C 8.D 9.C
第2章:
实验指导:
java入门级实验指导(15个实验)
目录实验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第六次实验报告接口
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声明自己实现一个或多个接口,如果一个非抽象类实现了某个接口,那么这个类必须重写该接口的所有方法。
java实验报告
java实验报告java实验报告在人们越来越注重自身素养的今天,报告的使用频率呈上升趋势,报告根据用途的不同也有着不同的类型。
那么,报告到底怎么写才合适呢?下面是小编帮大家整理的java实验报告,欢迎阅读,希望大家能够喜欢。
java实验报告1此次只实习了短短的三周。
虽说时间很短,但其中的每一天都使我收获很大、受益匪浅,它不但极大地加深了我对一些理论知识的理解,不仅使我在理论上对Java有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,更学到了很多做人的道理,对我来说受益匪浅。
除此以外,我知道了什么叫团队,怎样和团队分工合作;同时我还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点。
这也是第一次让我亲身感受到理论与实际的相结合,让我大开眼界。
也是对以前所学知识的一个初审吧!这次实习对于我以后学习、找工作也是受益匪浅的,在短短的三周中相信这些宝贵的经验会成为我今后成功的重要的基石;这对于我的学业,乃至我以后人生的影响无疑是极其深远的。
这次实习虽然是我们的第一次,不过同学们表现不错,由此看来,我们在进入大学的这几个月里学到了不少的专业知识,只是自己感觉不到而已。
对于所学专业,我们不能过于自卑和担忧,否则会妨碍自己学习。
实习是学习Java的重要环节,有利于我们巩固专业知识、掌握工作技能,提高就业筹码。
我把本次为期三周的实习看作是“理论与实践相结合的桥梁”。
通过这周的实习和学习,我知道了此次实习的目的,也清楚目前自己的不足,那就是缺乏相应的知识与经验,对所学的专业知识不能够很好地运用于实践操作。
正所谓“百闻不如一见”,经过这次自身的切身实践,我才深切地理会到了“走出课堂,投身实践”的必要性。
平时,我们只能在课堂上与老师一起纸上谈兵,思维的认识基本上只是局限于课本的范围之内,也许就是这个原因就导致我们对专业知识认识的片面性,使得我们只知所以然,而不知其之所以然!限制了我们网络知识水平的提高。
java实验报告
Java程序设计实验报告学号:名字:实验一 JAVA开发环境及基本语法一、实验目的:1、掌握常用的Java集成开发环境的使用,特别是Eclipse和NetBeans。
2、掌握Java基本语法,重点是面向对象的思想和语法。
3、掌握控制台下(应用程序)的输入输出方法,作为后续部分实验的基础。
二、实验内容:1、打开实验室计算机上的集成开发环境Eclipse或NetBeans(重点是Eclipse),掌握其基本使用方法。
了解开发软件的各个菜单功能。
会创建java项目(Project),会编辑和编译、运行项目代码。
2、验证和学习所给的几个例子程序及其讲解。
然后自己编写一个至少由一个类构成的Java程序,其功能是在运行后,能接收用户输入一个学生的姓名以及java课的成绩(百分制),并输出对该学生成绩是否达到60分的及格分的判断(可使用if语句)。
例如,输入学生姓名李明,然后输入成绩50,则输出“李明的成绩为不及格”。
3、编写一个程序来表示长方体的长宽高等数据并有计算体积的函数可供调用,长方体类从矩形类继承而来。
程序运行时能接受输入任意的3 个数作为长方体的长、宽和高,然后能够输出所输入的长宽高及所计算出的体积。
注意不能把代码全部写在main函数里面,不能直接输出长宽高的乘积。
三、设计过程预习实验指导书上的内容,并将实验指导书上的例子用Eclipse验证,分析例子的指导思想,然后根据例子的内容用java语言写出自己的程序。
实验中需要学会利用控制台输出信息,使用语句“System.out.println("**************"); ”即可。
而在控制台下接受用户输入数据的方法为:Scanner sc = new Scanner(System.in); // 定义一个Scanner对象,从System.in接受输入;str = sc.next(); // 等待用户输入任意一个字符串,它会被存到str中;在实验中还会使用if语句,这跟C++的用法差不多。
java实验报告6
广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室 2011 年 11月日(***报告只能为文字和图片,老师评语将添加到此处,学生请勿作答***)一、实验目的(1)理解线程的概念;(2)了解线程的状态和生命周期;(3)学习继承Thread 类来创建线程;(4)使用Runnable 接口。
(5)学习Runnable 接口在Applet 程序中的使用;(6)掌握Runnable 接口实现多线程的优点;(7)加深对Applet 中的几个常用方法的理解。
(8)理解线程同步的含义;(9)掌握synchronized 同步方法与synchronized 同步语句的用法;(10)学会使用Thread Group 控制线程。
(11)理解线程的挂起与恢复的概念;(12)掌握wait()与notify()方法的使用。
(13)了解动画的原理;(14)进一步了解多线程概念;(15)运用Java 的多线程实现动画的应用。
(16)了解图像的装载、显示和修改显示的大小;(17)了解Image 类的常用的方法;(18)了解ImageIcon 类的构造方法和常用的方法。
(19)熟练掌握图像的装载、显示;(20)了解和掌握双缓冲技术。
二、实验内容1、本实验是要设计一个包含多线程运行的程序,在主程序中依次创建4 个线程,然后按顺序启动这4 个线程,每个线程在运行时所执行的动作都是先睡眠sleep 一会儿,醒来之后再继续执行,在这个过程中注意观察线程是如何调度运行的。
2、在这个实验中要设计一个能显示时间的Applet 程序,要完成这个实验,学生应对Applet 程序有基本的了解,我们会先运行一个有些错误的程序,然后在分析错误的原因之后,逐步修改以得出正确的程序。
3、本实验要用程序模拟一个银行账户存款的过程。
程序中会有多个线程同时对同一个银行账户进行操作,每个线程的操作都按相同的步骤进行,即先查出该账户当前的余额,在此基础上加1,然后又把新余额写回到账户上,这样连续执行若干次,最后账户上的余额就会累加成一个新余额值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验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
张三
赵五。