第二次java实验
JAVA实验二报告
实验题1阅读如下程序,完成思考题。
class CCircle {double pi;double radius;double getRadius() {return radius; // 返回radius}void setCircle(double r, double p) // 创建setCircle方法,设置pi及radius大小{pi = p;radius = r;}}public class Ex2_1 {public static void main(String args[]) {CCircle cir1 = new CCircle(); // 实例化对象cir1.setCircle(2.0, 3.1416); // 调用setCricle方法System.out.println("radius=" + cir1.getRadius());}}[基本要求] 运行程序并观察运行结果。
运行结果为:radius=2.0[思考问题] 试述程序中主要语句的作用(含注释的代码)。
实验题2设计一个用来描述汽车的类Car,使用类的非静态成员变量来表示汽车的车主姓名name、当前的速率speed:1.创建构造函数为两个成员变量赋初值。
2.使用类的非静态成员方法来表示改车主姓名changeName操作, 并通过该方法显示修改后的车主名称。
3.使用类的非静态成员方法来表示改变汽车的速率changSpeed操作,并通过该方法显示修改后的车速。
4.使用类的非静态成员方法来表示停车stop操作,并通过该方法显示停车后的车速。
5.创建一个Car类的对象,初始状态时,车主名称是自己的名字,speed=0。
6.分别调用这三个方法,更改车名为朋友的名字,车速为20,停车车速为0,并且得到如下的结果:public class Test2 {public static void main(String[] args) {Car car=new Car();car.setName("好友");car.setSpeed(20);System.out.println("当前速度为:"+car.getSpeed());System.out.println("车主为:"+car.getName());System.out.println("停车后,车速为:"+car.stop());car.changName("好人啊");car.changSpeed(50);System.out.println("当前速度为:"+car.getSpeed());System.out.println("车主为:"+car.getName());System.out.println("停车后,车速为:"+car.stop());}}class Car{String name;double speed;public String getName() {return name;}public void setName(String name) { = name;}public double getSpeed() {return speed;}public void setSpeed(double speed) {this.speed = speed;}public String changName(String name){=name;return ;}public double changSpeed(double speed){this.speed=speed;return this.speed;}public double stop(){speed=0;return speed;}}实验题3定义一个类MyProgram,包含两个属性:一个是private的整型属性data、一个是private的String类型的属性str,封装这两个属性的四个方法setData()和getData()、setStr( )和getStr();将这两个属性转变为字符串的方法是toStr ()。
java实验报告总结_java总结范文
java实验报告总结_java总结范文
实验报告总结
通过本次实验,我对Java语言的基本语法和面向对象的编程思想有了更深入的了解。
在实验过程中,我学会了如何定义类和对象,以及如何使用封装、继承和多态等特性来进
行编程。
在实验一中,我通过编写一个简单的Java程序,熟悉了Java的基本语法和标准输入
输出的操作。
我了解了Java的数据类型和运算符,并能够使用if语句和循环结构来实现
程序逻辑。
通过这个实验,我掌握了基本的程序设计能力。
在实验二中,我学习了面向对象的编程思想,并通过编写一个学生管理系统来实践。
我定义了一个Student类,使用封装来隐藏内部细节,并定义了一些方法来实现对学生对
象的操作。
我还使用继承来创建了一个Teacher类,体会到了面向对象编程中的继承和多
态的概念。
通过这个实验,我进一步提高了程序设计的能力。
在实验三中,我学习了异常处理的方法,并通过编写一个简单的图书管理系统来实践。
在程序中,我使用try-catch语句来捕获和处理异常,保证程序的健壮性。
通过这个实验,我对异常处理有了更深入的理解。
在实验四中,我学习了Java中的线程编程,并通过编写一个简单的多线程程序来实践。
在程序中,我使用了Thread类和Runnable接口来创建线程,并学会了如何控制线程的执
行顺序和共享数据。
通过这个实验,我对多线程编程有了初步的了解。
通过这些实验,我对Java语言有了更深入的了解,并提高了自己的编程能力。
在今后的学习和工作中,我将继续学习和实践,提高自己的编程水平。
Java课程第二次实验报告(第10周)
Java课程第二次实验报告(第10周)实验报告(2013 / 2014学年第2学期)课程名称JAVA语言程序设计实验名称Java异常处理的程序设计、GUI综合应用开发实验时间2014 年 4 月22 日指导单位计算机学院/软件学院软件工程系指导教师朱云霞学生姓名谢某某班级学号专业公共事业管理学院(系) 人文与社会科学学院实验名称Java异常处理的程序设计、GUI综合应用开发指导教师朱云霞实验类型上机实验学时 3 实验时间2014-4-22一、实验目的1. 熟练掌握Java中String和StringBuffer类的使用2. 掌握Java中的异常处理机制,会编写简单程序3. 了解和掌握Java中的2D图形绘制方法4. 了解和掌握Java中GUI组件和界面化设计二、实验环境(实验设备)1. 每位学生配备计算机一台2. 计算机需安装好JDK和Jcreator三、实验内容1. 从键盘输入字符串”Today is a happy day!”,统计字符串包含多少个字母’a’,并将该字符串所有字母转换成大写字母输出。
public class Sy21 {public static void main(String args[]){String s=new String("Today is a happy day!");int count=0;for (int i=0;i<s.length();i++){ if (s.charAt(i)=='a')count++;}System.out.println("字母a的个数是:"+count);System.out.println(s.toUpperCase());}}a1[i][j]=rand;sum+=a1[i][j];System.out.print(a1[i][j]+" ");}System.out.println();}System.out.println("这个数组的总和为:"+sum);}}3. 从键盘输入两个数,进行相除,显示商。
java实验二试验报告
姓名学号:班级:说明:实验2(类的继承,与接口的实现)1. 编一程序,求两个正整数m、n的最大公约数。
要求程序中有两个方法,分别使用循环和递归,最后在主方法中两次求解并输出最大公约数。
截图:代码:public class gcd {public static void main(String[] args) {int a = 6, b = 9;System.out.printf("two nums:%d %d\n", a, b);System.out.println("递归: " + gcd1(a, b));System.out.println("辗转相除: " + gcd2(a, b));}public static int gcd1(int m, int n){return m % n == 0 ? n : gcd1(n, m%n);}public static int gcd2(int m, int n){while(n != 0){int t = m;m = n;n = t % n;}return m;}}2. 使用类编写程序(在程序中定义类,然后在主方法中创建类的对象,并调用该类中的方法,观察所得结果。
)截图:代码:public class Date {public static void main(String[] args) {Date d = new Date();System.out.println(d);d.setYear(2011);d.setMonth(10);d.setDay(3);System.out.println(d);}public Date(){}public Date(int y, int m, int d){year = y; month = m; day = d;}public void setYear(int new_year){ this.year = new_year;} public void setMonth(int m){ this.month = m; }public void setDay(int d){ this.day = d; }public String toString(){return new String("" + year + "/" + month + "/" + day);}public int year = 2000, month = 1, day = 1;}3. 编写一个包含圆类的程序,并为圆类设计几个构造方法,编译并运行它。
JAVA实验报告Y.Daniel Liang第二次实验
2014-2015学年第一学期实验报告课程名称:Java SE 平台技术实验名称:JA VA编程(基础练习)姓名:学号:成绩:指导教师:日期:目录一、实验目的 (3)二、实验内容 (3)2.1 构建一个继承类。
(3)2.2 抽象类和接口的使用 (3)2.3 图像类编程和事件驱动程序。
(3)三、实验环境 (3)四、实验结果 (3)4.1构建继承类 (3)4.2抽象类和接口的使用 (3)4.3 事件驱动程序 (3)五、附录 (4)5.2 设计方案 (4)5.1构建继承类 (4)5.2抽象类和接口的使用 (4)5.3 事件驱动程序 (4)5.2 设计方案 (4)5.1构建继承类 (4)5.2抽象类和接口的使用 (4)5.3 事件驱动程序 (4)5.3 算法 (4)5.3.1 三角形继承类 (4)5.3.2 抽象类与接口 (5)5.3.3 画出小车 (5)5.4. 设计图 (6)5.4.1 三角形类UML设计图 (6)5.4.2.1 Colorable接口UML设计图 (7)5.4.2.2 CompareTo与Clone接口UML设计图 (8)5.4.3 小车UML设计图 (9)5.5 仿真结果 (9)5.5.1构建继承类 (9)5.5.2抽象类和接口的使用 (9)5.5.3 事件驱动程序 (10)5.6 调试心得 (10)5.6.1 错误分析 (10)5.6.2 心得与收获 (10)一、实验目的通过使用JA V A语言进行基本程序的开发,掌握JA V A通用IDE,练习类的封装使用、JA V A基本类库的使用、利用UML进行简单建模。
二、实验内容2.1 构建一个继承类。
2.2 抽象类和接口的使用2.3 图像类编程和事件驱动程序。
三、实验环境Eclipse、Win 8.1四、实验结果4.1构建继承类输出了三角形的三边长,面积,周长。
4.2抽象类和接口的使用4.2.1执行Colorable接口,输出了一条how to color的信息4.2.2执行Comparable 和Cloneable接口,输出了创建的五边形和克隆五边形的周长和面机的信息。
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类编程实验实验⼆Java类编程实验实验⽬的1.掌握Java类的基本定义和使⽤⽅法2.熟悉Java语⾔的基本语法和运⾏原理3.掌握Java的基本数据类型、表达式和程序控制结构4.熟悉Eclipse开发环境的基本使⽤⽅法实验内容1. 对象的创建和使⽤使⽤集成开发环境编写⼀个圆环类Ring的Java程序。
圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius 和颜⾊color,这些属性通过get和set⽅法进⾏封装。
另外,圆环类中的getArea⽅法可以返回其⾯积。
把程序中的代码补充完整,并查看结果。
public class Ring {private double innerRadius;private double outerRadius;private String color;public Ring(double iRadius, double oRadius, String c) { //初始化数据成员}//⽤get和set⽅法封装数据成员public double getArea() {}public static void main(String[] args) {Ring ring = new Ring(5,8,"red");System.out.println("圆环的内半径: " +ring.getInnerRadius( ));System.out.println("圆环的外半径: " + ring.getOuterRadius( ));System.out.println("圆环的颜⾊: " + ring.color);System.out.println("圆环的⾯积: " + ring.getArea() + "\n");ring.setInnerRadius(4);//设置圆环ring的外半径为6ring.setColor("blue");System.out.println("圆环的内半径: " + ring.getInnerRadius( ));System.out.println("圆环的外半径: " + ring.getOuterRadius( ));System.out.println("圆环的颜⾊: " + ring.color);System.out.println("圆环的⾯积: " + ring.getArea());}}思考:1)将程序中的语句Ring ring = new Ring(5,8,"red"); 改成Ring ring = newRing();修改后编译运⾏,此时有错误发⽣吗?分析错误的原因。
java实验二附答案
Java实验二实验二类与对象实验目的1、掌握面向对象程序设计的方法和Java作为面向对象程序设计语言的特点;2、掌握修饰符和构造方法的使用规则;3、掌握接口的特点、结构、调用和继承;4、掌握如何创建包,通过包如何管理类;5、掌握Java的继承机制和实现多态的方法实验内容(1)定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。
SetRecord赋值学号、姓名和成绩,GetRecord通过学号得到考生的成绩。
通过实例验证编程无误。
(2)定义一个接口Area,其中包含一个计算面积的抽象方法calculateArea(),然后设计Circle和Rectan两个类实现这个接口的方法calculateArea(),分别计算圆和矩形的面积。
通过实例验证编程无误。
(3)假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分超过80分才能够通过。
根据上述要求,请完成以下Java类的设计:(i)设计一个基类Student描述学生的共同特征。
(ii)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。
(iii)设计一个描述研究生的类Graduate,该类继承并扩展Student类。
(iv)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息附实验一名称是Java语言基础实验报告分为以下几个部分一实验名称二实验目的三实验仪器四实验步骤(把你的操作一步一步写清楚,java 程序代码要写)五实验结果(程序运行后的结果就是DOS环境下运行出来的结果写在实验报告上)六实验讨论(实验过程中的错误及如何改正,你的心得体会等)答案:(1)定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。
南邮java实验二类继承
}
public void setLength(int length) {
this.length = length;
}
public void setWidth(int Width) {
this.width = Width;
}
public int getArea() {
return width * length;
}
}
一开始遇到问题是calendar类型变量ca的值的设置为ca.set(1999,9,9),结果月份是8,后来发现月份是从0-11的。另外发现对ca设置值还有一个麻烦一些的方法:SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");
MyRectangle rect = new MyRectangle(6, 5);
System.out.println("length=" + rect.getLength() + ",width=" + rect.getWidth() + ",area=" + rect.getArea());
rect.setLength(9);
2018学年课程名称java程序设计实验名称类继承实验时间2017指导单位计算机学院软件学院软件工程系指导教师肖欣欣学生姓名班级学号b16041309学院系实验名称类继承指导教师肖欣欣实验类型上机实验学时实验时间2017年12月15掌握派生类的定义二实验环境实验设备计算机需安装好jdk和eclipse三实验内容将编译运行成功后代码写入题目空白处1定义一个类myrectangle代表矩形
Java实验二实验报告
本科学生实验报告(二)姓名学院计算机科学学院专业计算机科学与技术班级实验课程名称Java面向对象设计试验时间2012年10 月14日指导教师及职称实验成绩开课时间2012—2013学年第一学期实验管理中心印制实验题目类与对象小组合作是○否⊙姓名班级学号一、实验目的1、熟悉Java面向对象程序设计的基本思想。
2、掌握类与对象的定义及使用方法。
3、掌握package语句与import语句的用法。
4、掌握java 继承中父类及其子类的定义方法。
5、掌握子类重写父类同名方法的方法。
6、掌握用法。
二.实验环境JDK1.6和Eclipse3.4.1开发环境三、实验内容与步骤一、分别定义三角形、梯形和圆形类,要求每个类中包含构造方法、求周长及面积的方法1、程序代码如下class Trangle {double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a,double b,double c){sideA=a;sideB=b;sideC=c;//参数a,b,c分别赋值给sideA,sideB,sideCif(a+b>c&&a+c>b&&c+b>a) //a,b,c构成三角形的条件表达式{boo=true; //给boo赋值。
}else{boo=false; //给boo赋值。
}}double getLength(){if(boo){length=sideA+sideB+sideC;return length;}else{System.out.println("不是一个三角形,不能计算周长");return 0;}//方法体,要求计算出length的值并返回}public double getArea(){if(boo){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;}}public void setABC(double a,double b,double c){sideA=a;sideB=b;sideC=c; //参数a,b,c分别赋值给sideA,sideB,sideCif(a+b>c&&a+c>b&&c+b>a) //a,b,c构成三角形的条件表达式{boo=true; //给boo赋值。
Java课程第二次实验报告
实验报告(2015 / 2016 学年第 2 学期)课程名称JAVA语言程序设计实验名称Java方法和数组的使用、类和对象实验时间年月日指导单位指导教师学生姓名学院(系)班级学号专业实验名称Java方法和数组的使用、类和对象指导教师朱艳梅实验类型上机实验学时2实验时间2016-4-21一、实验目的1.复习三大控制结构,会编写相关程序2.熟练掌握 java 方法的编程3.学会使用 java 的数组4.掌握类的基本概念,会编写简单的类二、实验环境 ( 实验设备 )1.每位学生配备计算机一台2.计算机需安装好 JDK 和 JCreator三、实验内容1.编写程序,打印出 100~999 中所有的“水仙花数”。
所谓“水仙花数”是指一个 3 位数,其各位数字的立方和等于该数本身。
例如:153 是一个“水仙花数”,因为153=13+53+33。
要求定义一个方法:public static boolean judge(int n):用于判断 n 是否是水仙花数;按下面结构完成本程序:public class ShuiXianShu{public static boolean judge(int n){...}public static void main(String args[]){...}}程序:package水仙花数;public class Flower {public static void main(String[] args) {//TODO自动生成的方法存根 int i=0;for (i=100;i<=999;i++){if ( judge (i)){System. out .printf("%d " ,i);}}}public static boolean judge( int n){int a,b,c;a = n%10;b = (n/10)%10;c = (n/100)%10;if (n==a*a*a+b*b*b+c*c*c)return true ;elsereturn false;}}运行结果:2.求斐波那契数列的第 n 项, n 从键盘输入。
java实验2实验报告1
java实验2实验报告1Java 实验 2 实验报告一、实验目的本次 Java 实验 2 的主要目的是通过实际编程操作,深入理解和掌握Java 语言中的一些重要概念和技术,包括面向对象编程的基本思想、类和对象的创建与使用、方法的定义与调用,以及异常处理等方面的知识。
通过实践,提高我们的编程能力和解决问题的能力。
二、实验环境本次实验使用的开发工具是 IntelliJ IDEA,Java 版本为 JDK 18。
操作系统为 Windows 10。
三、实验内容1、设计一个简单的学生类(Student)包含学生的姓名(name)、学号(studentID)、年龄(age)等属性。
定义构造方法用于初始化学生对象的属性。
定义获取和设置学生属性的方法。
2、实现一个计算学生平均年龄的方法接受一个学生对象数组作为参数。
计算并返回学生的平均年龄。
3、异常处理在计算平均年龄的方法中,处理可能出现的除数为 0 的异常情况。
四、实验步骤1、创建学生类(Student)```javapublic class Student {private String name;private int studentID;private int age;public Student(String name, int studentID, int age) {thisname = name;thisstudentID = studentID;thisage = age;}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 int getAge(){return age;}public void setAge(int age) {thisage = age;}}```2、计算平均年龄的方法```javapublic class AverageAgeCalculator {public double calculateAverageAge(Student students) {int totalAge = 0;int studentCount = studentslength;for (Student student : students) {totalAge += studentgetAge();}if (studentCount == 0) {throw new ArithmeticException("除数不能为 0,学生数组为空。
云南大学软件学院JAVA实验二
云南大学软件学院实验报告姓名:王增伟学号:20111120083 班级:软件工程日期:2014-9-24成绩:JAVA实验二一、实验目的:进一步熟悉JAVA编译环境,编译三个简单的JAVA程序,熟悉JAVA语言。
二、实验要求:1. Write Java program called AverageNumbers.java to determine the average ofseveral numbers.Set the following five integer variables:int1 = 5int2 = 7int3 = 4int4 = 25int5 = 13Calculate and display the average of these numbers and the square root(平方根)of average.2. Write a temperature conversion(温度转换) Java program calledFarheheitToCentigrade.java.Set a variable called tempFarenheit = 98.6. (华氏温度)Calculate the Centigrade temp (tempCelcius)(摄氏温度)by using the formula (公式) Centigrade = 5/9 (Fahrenheit -32)3.Write a Java payroll(工资) program called Payroll.java that determines payand taxes.(确定工资税)Set the following variables:pay = $25 per hourhoursWorked = 40Calculate grossPay(应付) by multiplying pay * hoursWorked.Calculate taxesWithheld(缴税) by multiplying grossPay * .15.Calculate netPay by subtracting(减去) taxesWithheld from grossPay.Display all variables.三、实验内容:1.求五个整数的平均值和平均值的平方根AverageNumbers.java程序代码如下:运行结果:2.温度转换:华氏温度转摄氏温度FarheheitToCentigrade.java程序代码如下:运行结果:3.计算工资和税Payroll.java程序如下:运行结果:四、实验总结:通过本次试验,懂得了如何灵活运用数据类型和运算符,由浅入深的对java编程语言有了更近一步的认识。
Java实验报告_实验二
Java实验报告_实验⼆实验2 类和对象【实验宗旨】每天做⼀点编程练习。
【实验⽬的】1、学习和掌握Java创建对象的⽅法。
2、学习和掌握通过创建对象、使⽤类的⽅法。
3、学习和掌握Java类定义的⽅法。
4、了解类设计的⼀般原则。
【实验内容】1、(Java API类的应⽤)使⽤java.util.Random类,创建种⼦是1000的Random对象,然后使⽤nextInt(100)⽅法显⽰0到100 之间前50个随机整数。
【实验预习】创建Random对象,含有1000个种⼦,然后输出其中的前50个⽆输⼊,创建Random random = new Random(1000);利⽤for循环输出前50的随机数。
【实验过程及结果记录】import java.util.Random;public class JavaText {public static void main(String[] args) {Random random = new Random(1000);for (int i = 0; i < 50; i++)System.out.print(random.nextInt(100) + " ");}}【实验总结】练习产⽣随机数的⽅法(Random).2.(使⽤StackOfIntegers类,显⽰素数因⼦)编写⼀个程序,提⽰⽤户输⼊⼀个正整数,然后以降序显⽰它的所有最⼩因⼦。
例如:如果整数为120,那么显⽰的最⼩因⼦为5、3、2、2、2。
使⽤StackOfIntegers类存储因⼦(如:2、2、2、3、5),获取之后按倒序显⽰这些因⼦。
【实验预习】练习类的调⽤,使⽤StackOfIntegers类【实验过程及结果记录】import java.util.*;import java.awt.*;import javax.swing.*;public class zhiyinshu{public static void main (String[] args) {StackOfIntegers h1 =new StackOfIntegers(); StackOfIntegers h2 =new StackOfIntegers();String str=JOptionPane.showInputDialog(null,"请输⼊⼀个正整数","分解质因数",JOptionPane.QUESTION_MESSAGE); int yuanshu = Integer.parseInt(str);int i=2;int b=0;int c=0;do{i=2;b=0;do{if(yuanshu%i==0){yuanshu=yuanshu/i;h1.jilu(i);b=1;}i++;}while(b==0&&i}while(ih1.jilu(yuanshu);c=h1.getsize();for(int v=0;vh2.jilu(h1.esc());for(int v=0;vSystem.out.print(""+h2.esc()+"\n"); }}class StackOfIntegers {private int size;private int[] zhan;public static final int a=16;public StackOfIntegers(){this(a);}public StackOfIntegers(int n){zhan = new int[n];}public void jilu(int up) {if(size>=zhan.length){int[] temp = new int[zhan.length * 2];System.arraycopy(zhan,0,temp,0,zhan.length);zhan=temp;}zhan[size++]=up;}public int esc(){return zhan[--size];}public int getsize(){return size;}}【实验总结】练习了创建随机数的⽅法以及Java的输出⽅法,在编码的过程中还是经常出现⼤⼩写打错的情况。
实验报告Java二
JA V A实验报告系(教研室):专业:年级:实验课程:Java语言程序设计姓名:学号:实验室号:计算机号:实验时间:指导教师签字:成绩:实验2一、实验目的1.掌握声明二维数组变量,创建二维数组对象,使用二维数组解决实际问题。
2.使用构造方法创建对象,通过对象引用变量访问对象,。
3.封装数据域以便于类的维护。
二、实验要求1.(7.6)编写两个矩阵相乘的方法。
方法头如下:public static double[][] multiplyMatrix(double[][] a, double[][] b)为了是矩阵a能够和矩阵b相乘,矩阵a的列数必须与矩阵b的行数相同。
假设矩阵c是相乘的结果,而a的列数是n,那么每个元素c ij=a i1* b1j + a i2 * b2j+ …+ a in * b nj。
例如,对于两个3×3的矩阵a和b,c有:编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示他们的2.(8.1)创建一个名为Rectangle的类表示矩形,这个类包括:●两个名为width和height的double型数据域,它们分别表示矩形的宽和高。
width和height的默认值都为1。
●创建默认矩形的无参构造方法:Rectangle()。
●一个创建width和height为指定值的矩形的构造方法:Rectangle(double width, double height)。
●一个名为getWidth()的方法返回宽。
●一个名为getHeight()的方法返回高。
●一个名为getArea()的方法返回这个矩形的面积。
●一个名为getPerimeter()的方法返回周长。
实现这个类,编写一个测试程序,提示用户输入两个矩形,创建两个Rectangle对象,然后显示矩形的宽,高,面积和周长。
三、实验原理1.本题通过编写Matrix类实现题目要求。
Matrix类包含三个方法:存储矩阵的方法:public static double[][] inputMatrix()用于打印矩阵的方法:public static double[][] outputMatrix(double[][] x),利用两个for循环来实现输出二维数组。
java实验报告实验2答案(共5篇)
java实验报告实验2答案(共5篇)第一篇:java实验报告实验2答案互联网软件应用与开发实验指导书实验二熟悉Applet,GUI编程实验目的:本实验旨在巩固同学们对上课所讲Applet,异常处理,java的控制加深理解,图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,对java的语法和编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。
了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。
实验内容:创建一个java项目,命名为experiment2。
(如何创建项目参考《实验一》的项目创建方法。
)(一)创建图形用户界面图形用户界面(Graphic User Interface,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。
组件(Component)是构成GUI的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。
组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。
通过容器的add方法把组件加入到容器中。
1.在Applet中添加标签、按钮并使用网格布局(1)程序功能在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。
(2)编写LX6_1.java 程序文件,源代码如下:import java.awt.*;import java.applet.Applet;public class LX6_1 extends Applet { Label l1;Button b1, b2, b3, b4, b5,b6;public void init(){互联网软件应用与开发实验指导书setLayout(new GridLayout(3,3));// 设置网格布局(3 行3 列共9 个网格)l1=new Label(“标签1”);b1 = new Button(“按钮1”);b2 = new Button(“按钮2”);b3 = new Button(“按钮3”);b4 = new Button(“按钮4”);add(l1);add(b1);add(b2);add(b3);add(newLabel());add(b4);add(new Button(“按钮5”));add(new Button(“按钮6”));add(new Label(“标签2”));} }(3)编译程序LX6_1.java。
Java课程第二次实验报告材料第10周
intsum=0;
for(inti=0;i<10;i++)
{for(intj=0;j<5;j++)
#43;1);
a1[i][j]=rand;
sum+=a1[i][j];
System.out.print(a1[i][j]+" ");}
public static voidmain(String args[]){
String input1=JOptionPane.showInputDialog("please input first number:");
String input2=JOptionPane.showInputDialog("please input second number:");
实验报告
(2013 / 2014学年第2学期)
课程名称
JAVA语言程序设计
实验名称
Java异常处理的程序设计、GUI综合应用开发
实验时间
2014
年
4
月
22
日
指导单位
计算机学院/软件学院
软件工程系
指导教师
朱云霞
学生姓名
谢某某
班级学号
学院(系)
人文与社会科学学院
专业
公共事业管理
实验名称
Java异常处理的程序设计、GUI综合应用开发
int a , b;
a= Integer.parseInt(input1.getText());
b= Integer.parseInt(input2.getText());
第二次java实验
第七次实验:GUI标准组件及事件处理一、实验目的了解图形用户界面基本组件:框架、面板、按钮、标签、菜单、列表等的使用方法;了解如何使用布局管理器对组件进行管理;理解和掌握Java 的事件处理机制。
二、实验要求1. 了解Java图像用户界面的开发,掌握基本组件的使用。
2. 掌握编写独立运行的窗口界面的方法,了解菜单和对话框的使用方法。
3. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
三、实验内容(一)在面板中添加多个组件,并进行合理的布局♦程序功能:在一个框架(Frame)容器中添加一个面板(Panel)容器,并分别在框架和面板容器中添加组件并使用不同的布局管理方式。
♦请编写KY7_1.java 程序文件,源代码如下:import java.awt.*;import java.awt.Color;public class KY7_1{public static void main(String args[]){Frame f = new Frame(); //创建一个框架fPanel p = new Panel(); //创建一个面板pf.add(p); //把面板p添加到框架f中p.setBackground(Color.blue); //设置面板p的背景颜色为蓝色p.setLayout(new FlowLayout()); //设置面板p的布局为流式布局Label l = new Label();p.add(l); //在面板p中添加一个标签lButton button1 = new Button();Button button2 = new Button();Button button3 = new Button();Button button4 = new Button();Button button5 = new Button();Button button6 = new Button();p.add(button1);p.add(button2); p.add(button3); p.add(button4); p.add(button5); p.add(button6); //在面板p 中添加六个按钮 Choice c=new Choice(); // 创建一个下拉列表c , c.addItem("北京"); // 下拉列表c 中有三个选项:北京、上海和天津 c.addItem("上海"); c.addItem("天津"); p.add(c); //把列表c 添加到面板p 中f.setBounds(400,400,400,400); f.setVisible(true);f.validate(); //设置框架f 的大小和可见性}}(二)为窗口添加菜单,并处理由菜单项所引发的事件♦ 程序功能:在窗口中添加菜单条,在菜单条中添加菜单,并在菜单中添加菜单项和子菜单。
java编程基础实验报告
java编程基础实验报告Java编程基础实验报告一、引言Java是一种广泛应用于软件开发领域的高级编程语言,具有跨平台的特性,因此备受开发者的青睐。
本篇实验报告将介绍我在学习Java编程基础过程中所进行的实验,并总结实验结果和心得体会。
二、实验目的本次实验的主要目的是通过编写Java程序,加深对Java编程语言的理解和掌握,提高编程能力和解决问题的能力。
三、实验内容1. 实验环境搭建在开始实验之前,我首先搭建了Java编程环境。
我选择了使用Eclipse作为集成开发环境(IDE),并安装了Java开发工具包(JDK)。
2. 实验一:Hello World程序在第一个实验中,我编写了一个简单的Hello World程序。
该程序的功能是在控制台输出"Hello, World!"。
通过这个实验,我熟悉了Java程序的基本结构和语法规则。
3. 实验二:变量和数据类型在第二个实验中,我学习了Java中的变量和数据类型。
我编写了一个程序,实现了两个整数相加并输出结果的功能。
通过这个实验,我掌握了Java中的基本数据类型和变量的声明和使用方法。
4. 实验三:条件语句和循环语句在第三个实验中,我学习了Java中的条件语句和循环语句。
我编写了一个程序,实现了判断一个数是否为偶数并输出结果的功能。
通过这个实验,我掌握了Java中的if语句和for循环语句的使用方法。
5. 实验四:数组和字符串在第四个实验中,我学习了Java中的数组和字符串。
我编写了一个程序,实现了对一个整型数组进行排序并输出结果的功能。
通过这个实验,我掌握了Java中数组的声明和使用方法,以及字符串的操作方法。
6. 实验五:面向对象编程在第五个实验中,我学习了Java中的面向对象编程。
我编写了一个程序,实现了一个简单的学生信息管理系统。
通过这个实验,我掌握了Java中类的定义和对象的创建与使用方法。
四、实验结果通过以上实验,我成功编写了各种Java程序,并在控制台输出了预期的结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七次实验:GUI标准组件及事件处理一、实验目的了解图形用户界面基本组件:框架、面板、按钮、标签、菜单、列表等的使用方法;了解如何使用布局管理器对组件进行管理;理解和掌握Java 的事件处理机制。
二、实验要求1. 了解Java图像用户界面的开发,掌握基本组件的使用。
2. 掌握编写独立运行的窗口界面的方法,了解菜单和对话框的使用方法。
3. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
三、实验内容(一)在面板中添加多个组件,并进行合理的布局♦程序功能:在一个框架(Frame)容器中添加一个面板(Panel)容器,并分别在框架和面板容器中添加组件并使用不同的布局管理方式。
♦请编写KY7_1.java 程序文件,源代码如下:import java.awt.*;import java.awt.Color;public class KY7_1{public static void main(String args[]){Frame f = new Frame(); //创建一个框架fPanel p = new Panel(); //创建一个面板pf.add(p); //把面板p添加到框架f中p.setBackground(Color.blue); //设置面板p的背景颜色为蓝色p.setLayout(new FlowLayout()); //设置面板p的布局为流式布局Label l = new Label();p.add(l); //在面板p中添加一个标签lButton button1 = new Button();Button button2 = new Button();Button button3 = new Button();Button button4 = new Button();Button button5 = new Button();Button button6 = new Button();p.add(button1);p.add(button2); p.add(button3); p.add(button4); p.add(button5); p.add(button6); //在面板p 中添加六个按钮 Choice c=new Choice(); // 创建一个下拉列表c , c.addItem("北京"); // 下拉列表c 中有三个选项:北京、上海和天津 c.addItem("上海"); c.addItem("天津"); p.add(c); //把列表c 添加到面板p 中f.setBounds(400,400,400,400); f.setVisible(true);f.validate(); //设置框架f 的大小和可见性}}(二)为窗口添加菜单,并处理由菜单项所引发的事件♦ 程序功能:在窗口中添加菜单条,在菜单条中添加菜单,并在菜单中添加菜单项和子菜单。
通过选择菜单项可以引发不同的事件,从而执行不同操作,例如点击“打开”菜单项可以打开一个“打开文件对话框”。
♦ 编写KY7_2.java 程序文件,代码如下:import java.awt.*;import java.awt.event.*;public class KY7_2 extends Frame implements ActionListener{static Frame f;m1m2 mstatic FileDialog fd1;static FileDialog fd2;public static void main(String args[]){KY7_2 k = new KY7_2();f = new Frame();MenuBar mb = new MenuBar();Menu m1 = new Menu("文件");Menu m2 = new Menu("帮助");mb.add(m1);mb.add(m2);MenuItem m11 = new MenuItem("打开");MenuItem m12 = new MenuItem("关闭");MenuItem m13 = new MenuItem("退出");m1.add(m11);m1.add(m12);m1.add(m13);MenuItem m21 = new MenuItem("目录");MenuItem m22 = new MenuItem("索引");MenuItem m23 = new MenuItem("关于");m2.add(m21);m2.add(m22);m2.add(m23);Menu m3 = new Menu("编辑");MenuItem m31 = new MenuItem("复制");MenuItem m32 = new MenuItem("剪切");MenuItem m33 = new MenuItem("粘贴");m3.add(m31);m3.add(m32);m3.add(m33);m1.add(m3);m11.addActionListener(k);m13.addActionListener(k);f.setSize(350,200);f.setMenuBar(mb);f.setVisible(true);}public void actionPerformed (ActionEvent e){ if (e.getActionCommand() == "打开"){FileDialog fd1 = new FileDialog (f, "open", FileDialog.SAVE);fd1.setVisible (true);}if (e.getActionCommand() == "保存"){FileDialog fd2 = new FileDialog (f, "save", FileDialog.SAVE);fd2.setVisible (true);} }}三、运行题中程序,然后按【思考问题】提示来分析、修改并体验程序。
【思考问题】①基本容器JFrame比起Frame有何特点?为什么这里定义了一个c=this.getContentPane();Frame是awt中的组件,JFrame是swing中的组件,JFrame 包含一个JRootPane 作为其唯一的子容器。
this.getContentPane()的作用是初始化一个容器,用来在容器上添加一些控件②采用了什么布局管理器,各组件按什么次序加入组件的?FlowLayout,从左到右排列成一行。
③很多地方用到this,这个this指什么?1、表示对当前对象的引用;2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名时进行区分; 3、用于在构造方法中引用满足指定参数类型的构造器。
④分析事件执行方法 actionPerformed里面的下面三条语句起何作用?a=Double.valueOf(TOprand1.getText()).doubleValue();b=Double.valueOf(TOprand2.getText()).doubleValue();Result.setText(String.valueOf(sum));读出T0prand1和T0prand2中的数,和写入Result中。
⑤程序中对按钮事件的监听采用了什么方法?请修改成另外两种方法实验。
import java.awt.*;import java.awt.event.*;import javax.swing.*;class Ex9_1 extends JFrame{ JTextField TOprand1;JTextField TOprand2;JTextField Result;JLabel LAdd,LSum;JButton BAdd,BClear;Container c=null;public Ex9_1(){ TOprand1=new JTextField("0.0000");TOprand2=new JTextField("0.0000");Result=new JTextField("0.0000");LAdd=new JLabel("+");LSum=new JLabel("=");BAdd=new JButton("加法");BClear=new JButton("清除");c=this.getContentPane();c.setLayout(new FlowLayout());c.add(TOprand1);c.add(LAdd);c.add(TOprand2);c.add(LSum);c.add(Result);c.add(BAdd);c.add(BClear);this.pack();this.setVisible(true);PoliceMan p=new PoliceMan();BAdd.addActionListener(p);BClear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){ TOprand1.setText("0.0000");TOprand2.setText("0.0000");Result.setText(String.valueOf("0.0000"));}});this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){ System.exit(0);}}); }class PoliceMan implements ActionListener{public void actionPerformed(ActionEvent e){ double a,b,sum;a=Double.valueOf(TOprand1.getText()).doubleValue();b=Double.valueOf(TOprand2.getText()).doubleValue();sum=a+b;Result.setText(String.valueOf(sum));}}public static void main(String args[]){ Ex9_1 mainFrame = new Ex9_1();mainFrame.setSize(350, 200);mainFrame.setTitle("GUI实验一");}}⑥将定义的类class Ex9_1 extends JFrame implements ActionListener去掉继承extends JFrame,功能不变,程序如何修改?import java.awt.*;import java.awt.event.*;import javax.swing.*;class Ex9_1 implements ActionListener{ TextField TOprand1;TextField TOprand2;TextField Result;Label LAdd,LSum;Button BAdd,BClear;Container c=null;public Ex9_1(){ Frame f=new Frame();TOprand1=new TextField("0.0000");TOprand2=new TextField("0.0000");Result=new TextField("0.0000");LAdd=new Label("+");LSum=new Label("=");BAdd=new Button("加法");BClear=new Button("清除");c.setLayout(new FlowLayout());c.add(TOprand1);c.add(LAdd);c.add(TOprand2);c.add(LSum);c.add(Result);c.add(BAdd);c.add(BClear);c.pack();c.setVisible(true);c.setSize(350, 200);c.setTitle("GUI实验一");BAdd.addActionListener(this);BClear.addActionListener(this);f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){ System.exit(0);}});}public void actionPerformed(ActionEvent e){ double a,b,sum;if(e.getSource()==BAdd){ a=Double.valueOf(TOprand1.getText()).doubleValue(); b=Double.valueOf(TOprand2.getText()).doubleValue(); sum=a+b;Result.setText(String.valueOf(sum));}if(e.getSource()==BClear){TOprand1.setText("0.0000");TOprand2.setText("0.0000");Result.setText(String.valueOf("0.0000"));}}public static void main(String args[]){ Ex9_1 mainFrame = new Ex9_1();}}⑦设置布局管理器为null,使组件摆放次序不变,重新修改程序。