java面向对象编程实验报告
面向对象编程实验报告

面向对象编程实验报告一、实验目的本次实验旨在通过面向对象编程的方式,设计并实现一个简单的学生信息管理系统,加深对面向对象编程原理和概念的理解,并掌握面向对象编程的应用技巧。
二、实验内容1. 设计学生类(Student):包括学生的基本信息(学号、姓名、性别、年龄等)以及相关操作(添加信息、修改信息、删除信息等)。
2. 设计班级类(Class):包括班级的基本信息(班级编号、班级名称等)以及与学生类的关联关系(一个班级包含多个学生)。
3. 设计主程序类(Main):用于对学生信息进行管理和操作,包括添加学生、删除学生、修改学生信息、查询学生信息等功能。
4. 编写测试用例:对设计的学生信息管理系统进行测试,保证系统能够正常运行并实现预期功能。
三、实验步骤1. 设计学生类(Student):首先确定学生类的属性和方法,定义学生类的成员变量(学号、姓名、性别、年龄)以及成员方法(添加学生信息、修改学生信息、查询学生信息等)。
2. 设计班级类(Class):确定班级类的属性和方法,包括班级编号、班级名称以及一个包含学生信息的集合,设计班级类与学生类的关联关系。
3. 编写主程序类(Main):在主程序类中实现学生信息的管理功能,通过用户输入选择对学生信息的操作,调用学生类和班级类中的方法实现相应功能。
4. 编写测试用例:设计多个测试用例,分别测试添加学生、删除学生、修改学生信息等功能,确保系统能够正确运行并实现预期功能。
四、实验结果分析经过测试,学生信息管理系统能够正常运行并实现预期功能。
用户可以通过主程序类对学生信息进行添加、删除、修改和查询操作,操作界面友好,操作流程清晰,便于用户操作和管理学生信息。
五、实验总结通过本次实验,我深入理解了面向对象编程的原理和概念,掌握了面向对象编程的应用技巧,提升了对Java编程语言的熟练程度。
面向对象编程具有代码复用、维护方便和高扩展性等优点,是一种高效的编程思想。
在今后的学习和工作中,我将继续深入研究面向对象编程,不断提升自己的编程能力。
面向对象课程实验报告

一、实验目的1. 理解面向对象编程的基本概念和原理。
2. 掌握面向对象编程语言(如Java、Python)的基本语法和编程技巧。
3. 通过实验,加深对面向对象编程思想的理解,提高编程能力。
二、实验环境1. 操作系统:Windows 102. 开发环境:Eclipse/PyCharm3. 编程语言:Java/Python三、实验内容1. 面向对象编程基本概念(1)面向对象编程(OOP)是一种编程范式,强调数据和操作数据的代码的封装。
(2)面向对象编程的基本要素包括:类(Class)、对象(Object)、继承(Inheritance)、多态(Polymorphism)和封装(Encapsulation)。
2. 类与对象的定义(1)定义一个名为“Student”的类,包含以下属性:姓名(name)、年龄(age)和性别(gender)。
(2)创建一个名为“Student”的对象,并初始化属性值。
3. 封装(1)将Student类的name、age和gender属性定义为私有属性,以防止外部直接访问。
(2)提供公有的setter和getter方法,用于访问和修改属性值。
4. 继承(1)定义一个名为“Student”的父类,包含姓名、年龄和性别属性。
(2)定义一个名为“Teacher”的子类,继承自“Student”类,并添加一个新的属性:职称(title)。
5. 多态(1)定义一个名为“Animal”的父类,包含一个名为“makeSound”的方法。
(2)定义一个名为“Dog”的子类,继承自“Animal”类,并重写“makeSound”方法。
(3)定义一个名为“Cat”的子类,继承自“Animal”类,并重写“makeSound”方法。
6. 实验代码以下是实验过程中编写的Java代码示例:```javapublic class Student {private String name;private int age;private String gender;public Student(String name, int age, String gender) { = name;this.age = age;this.gender = gender;}public void setName(String name) { = name;}public String getName() {return name;}public void setAge(int age) {this.age = age;}public int getAge() {return age;}public void setGender(String gender) {this.gender = gender;}public String getGender() {return gender;}}public class Teacher extends Student {private String title;public Teacher(String name, int age, String gender, String title) { super(name, age, gender);this.title = title;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}}public class Animal {public void makeSound() {System.out.println("Animal makes a sound"); }}public class Dog extends Animal {@Overridepublic void makeSound() {System.out.println("Dog barks");}}public class Cat extends Animal {@Overridepublic void makeSound() {System.out.println("Cat meows");}}```7. 实验结果与分析通过本次实验,我们掌握了面向对象编程的基本概念和原理,了解了面向对象编程语言的基本语法和编程技巧。
实验一Java面向对象基础实验报告参考模板

实验一Java面向对象基础、数组实验报告一、实验目的1. 理解面向对象编程基本思想2. 了解类的封装方法,以及如何创建类和对象3. 掌握面向对象程序设计的方法,了解类的继承性和多态性的作用4. 掌握Java 中的数组定义、引用二、实验要求编写程序时要注意体现面向对象思想,体会不同访问控制符的作用。
1. 编写一个Vehicle类和它的二个子类Bus类和Boat类。
(要求:程序要有构造方法重载;要能体现类的多态性)2. 定义一个由若干个整数组成的数组,要求输出该数组的平均值以及所有的奇数之和。
3. 随机生成30个0-9之间的数字,分别统计0-9这10个数字分别出现了多少次。
三、实验内容及结果1. 编写一个Vehicle类和它的二个子类Bus类和Boat类。
public class Vehicle {private String color;public Vehicle() {this("black");}public Vehicle(String color) {this.color = color;}public String toString() {return "this is a " + this.color + " vehicle";}}class Bus extends Vehicle {private int passagerNumber;public Bus() {this(50, "black");}public Bus(int number) {this(number, "black");}public Bus(int number, String color) {super(color);this.passagerNumber = number;}public String toString() {return super.toString().replace("vehicle", "bus")+ " , max passager number: " + this.passagerNumber;}}class Boat extends Vehicle {private String owner;public Boat() {super("black");this.owner = "nobody";}public Boat(String owner) {super("black");this.owner = owner;}public Boat(String owner, String color) {super(color);this.owner = owner;}public String toString() {return super.toString().replace("vehicle", "boat")+ " own by "+ this.owner;}}2. 定义一个由若干个整数组成的数组,要求输出该数组的平均值以及所有的奇数之和。
java编程实验报告

java编程实验报告Java编程实验报告引言:Java是一种广泛应用于软件开发领域的高级编程语言,具有跨平台、面向对象、安全性高等特点。
本篇文章将介绍我在Java编程实验中的实践和收获。
实验一:Hello World程序在本实验中,我学习了如何使用Java编写一个简单的Hello World程序。
通过这个实验,我了解了Java的基本语法和程序结构。
在编写过程中,我发现Java的语法规范相对严格,需要注意语句的结束符号和代码的缩进。
通过运行程序,我成功输出了"Hello World"这个简单的字符串,这让我对Java编程的基本流程和语法有了更深入的了解。
实验二:变量与运算符在本实验中,我学习了Java中的变量和运算符的使用。
通过编写程序,我实现了对不同类型的变量进行声明和赋值,并进行基本的运算操作。
在这个过程中,我发现Java的变量需要先声明后使用,而且在进行运算时需要注意数据类型的匹配。
通过这个实验,我对Java中的变量和运算符有了更深入的理解。
实验三:条件语句与循环结构在本实验中,我学习了Java中的条件语句和循环结构的使用。
通过编写程序,我实现了对不同条件进行判断,并根据不同的条件执行相应的操作。
同时,我还学习了循环结构的使用,通过循环语句实现了对一段代码的重复执行。
在这个实验中,我发现条件语句和循环结构是Java编程中非常重要的部分,能够帮助程序实现更复杂的逻辑。
实验四:数组和字符串在本实验中,我学习了Java中数组和字符串的使用。
通过编写程序,我实现了对数组和字符串的声明、赋值和操作。
在这个过程中,我发现Java中的数组和字符串是一种非常方便的数据结构,能够帮助程序处理大量的数据。
通过这个实验,我对Java中数组和字符串的使用有了更深入的了解。
实验五:面向对象编程在本实验中,我学习了Java中的面向对象编程的基本概念和使用。
通过编写程序,我实现了对类的定义、对象的创建和方法的调用。
面向对象编程 JAVA编程综合实验报告

成绩:JA V A编程B综合实验报告实验名称:面向对象编程实验时间:2012年5月31日星期四JAVA编程B综合实验报告一、实验名称面向对象编程二、实验目的1、理解Java语言是如何体现面向对象编程基本思想,2、了解类的封装方法,以及如何创建类和对象,3、了解成员变量和成员方法的特性。
4、掌握OOP方式进行程序设计的方法,5、了解类的继承性和多态性的作用。
三、实验环境配置Windows XP、JDK 1.6与Eclipse 3.5四、实验记录1)创建Applet 应用小程序2)创建对象并使用对象3)使用修饰符五、代码分析一、创建Applet 应用小程序1、创建一个Applet应用程序文件。
(1)程序功能:建立一个Applet小程序,使其可以进行简单的加法运算。
该程序要包含类、接口、属性、方法、事件等面向对象的基本元素。
(2)程序源代码如下。
import java.awt.*;import java.awt.event.*;import java.applet.Applet;public class Applet1 extends Applet implements ActionListener {Label label1 = new Label("+");Label label2 = new Label("=");TextField field1 = new TextField(6);TextField field2 = new TextField(6);TextField field3 = new TextField(6);Button button1 = new Button("相加");public void init() { // 初始化add(field1);add(label1);add(field2);add(label2);add(field3);add(button1);button1.addActionListener(this);}public void actionPerformed(ActionEvent e) { // 处理按钮事件int x = Integer.parseInt(field1.getText())+ Integer.parseInt(field2.getText());field3.setText(Integer.toString(x)); // 数值转换为字符串}}2、编写一个浏览Applet应用程序的页面文件Applet1.HTML,源代码如。
南京邮电大学java实验报告面向对象

实验报告班级:姓名:学号:课程名称Java程序设计实验项目Java的面向对象编程实验项目类型验证演示综合设计指导教师吴伟敏成绩√一、实验目的1、掌握Java程序面向对象编程的基本架构;2、掌握有关面向对象的基本概念,如:类、对象、接口继承和多态等;3、掌握包程序设计的方法,了解大型软件的构造方式二、实验步骤1、录入并测试以下程序,说出此程序的作用,体会类和对象的关系。
程序如下:class CCircle{double pi;double radius;double getRadius(){return radius;}void setCircle(double r, double p){pi=p;radius=r;}}public class Ex2_1{public static void main(String args[]) {CCircle cir1=new CCircle();cir1.setCircle(2.0,3.1416);System.out.println("radius="+cir1.getRadius());}}[基本要求]运行程序并观察运行结果。
[思考问题]试述程序中每条语句的作用。
2、录入并测试和完善以下程序,体会接口的用法。
interface Sittable{void sit();}interface Lie{void sleep();}interface HealthCare{void massage();}class Chair implements Sittable{public void sit(){System.out.println("It is sittable!");};}class Sofa extends Chair implements Lie,HealthCare{ public void sleep(){System.out.println("It is sleep!");};public void massage(){System.out.println("give a message!");};public static void main(String[] args) {Sofa cottonSofa=new Sofa();System.out.println(" Sofa is ok!");}}[基本要求]运行程序并观察运行结果。
20155313实验三《Java面向对象程序设计》实验报告

20155313实验三《Java⾯向对象程序设计》实验报告⼀、实验内容XP基础XP核⼼实践相关⼯具⼆、实验要求1.没有Linux基础的同学建议先学习《Linux基础⼊门(新版)》《Vim编辑器》课程2.完成实验、撰写实验报告,实验报告以博客⽅式发表在博客园,注意实验报告重点是运⾏结果,遇到的问题(⼯具查找,安装,使⽤,程序的编辑,调试,运⾏等)、解决办法(空洞的⽅法如“查⽹络”、“问同学”、“看书”等⼀律得0分)以及分析(从中可以得到什么启⽰,有什么收获,教训等)。
报告可以参考范飞龙⽼师的指导3.严禁抄袭,有该⾏为者实验成绩归零,并附加其他惩罚措施。
三、实验步骤1. 在IDEA中使⽤⼯具(Code->Reformate Code)把下⾯代码重新格式化,再研究⼀下Code菜单,找出⼀项让⾃⼰感觉最好⽤的功能。
提交截图,加上⾃⼰学号⽔印。
public class CodeStandard {public static void main(String [] args){StringBuffer buffer = new StringBuffer();buffer.append('S');buffer.append("tringBuffer");System.out.println(buffer.charAt(1));System.out.println(buffer.capacity());System.out.println(buffer.indexOf("tring"));System.out.println("buffer = " + buffer.toString());if(buffer.capacity()<20)buffer.append("1234567");for(int i=0; i<buffer.length();i++)System.out.println(buffer.charAt(i));}}2. 在码云上把⾃⼰的学习搭档加⼊⾃⼰的项⽬中,确认搭档的项⽬加⼊⾃⼰后,下载搭档实验⼆的Complex代码,加⼊不少于三个JUnit单元测试⽤例,测试成功后git add .; git commit -m "⾃⼰学号添加内容";git push;提交搭档项⽬git log的截图,包含上⾯git commit的信息,并加上⾃⼰的学号⽔印信息。
Java实验报告面向对象

实验报告学年第学期任课老师:m=max[i];}}System.out.println("5个人中java成绩最大值是:"+m);}}实验结果分析与总结1、程序运行结果(请提供所完成的各道题运行结果界面截图):2、在实验过程中遇到的问题与解决方法:实验中并未有太多技术上的问题,除了对软件运用的不够熟练造成最初的一些错误,比如,用Jcreator时未编译便运行,一直出错,检查多次后才发现此处与eclipse的不同(上机时没问题,写实验报告用的Jcreator出错了,所以是软件用的不熟记错的缘故。
)而且要先编译Student类才可编译Main。
3、实验过程中的发现与收获,未解决或需进一步解决的问题:实验中的发现便是java其实较C/C++简单许多,很多东西都不要自己多加考虑,但试验还是太少所以会在一些小的细节方面浪费很多时间。
指导老师评阅意见指导老师:年月日填写内容时,可把表格扩大。
附:实验源程序代码//Mainpackage Test;public class Main {public static void main(String[] args) {Main ma=new Main();Student stu1=new Student();stu1.setAge(18);stu1.setJava(86);stu1.setName("aaa");stu1.setNo("001");stu1.setSex("M");int a=stu1.getJava();System.out.println("第一个学生的信息为:\r\n"+"姓名是:"+stu1.getName()+"\r\n"+"年龄是:"+stu1.getAge()+"\r\n"+"性别是:"+stu1.getSex()+"\r\n"+"学号是:"+stu1.getNo()+"\r\n"+"成绩是:"+stu1.getJava()+"\r\n");Student stu2=new Student();stu2.setAge(18);stu2.setJava(90);stu2.setName("bbb");stu2.setNo("011");stu2.setSex("M");int b=stu2.getJava();System.out.println("第二个学生的信息为:\r\n"+"姓名是:"+stu2.getName()+"\r\n"+"年龄是:"+stu2.getAge()+"\r\n"+"性别是:"+stu2.getSex()+"\r\n"+"学号是:"+stu2.getNo()+"\r\n"+"成绩是:"+stu2.getJava()+"\r\n");System.out.println("两个人的java平均成绩为:"+(stu1.getJava()+stu2.getJava())/2);Student stu3=new Student();stu3.setAge(20);stu3.setJava(76);stu3.setName("ccc");stu3.setNo("067");stu3.setSex("F");int c=stu3.getJava();System.out.println("第三个学生的信息为:\r\n"+"姓名是:"+stu3.getName()+"\r\n"+"年龄是:"+stu3.getAge()+"\r\n"+"性别是:"+stu3.getSex()+"\r\n"+"学号是:"+stu3.getNo()+"\r\n"+"成绩是:"+stu3.getJava()+"\r\n");Student stu4=new Student();stu4.setAge(19);stu4.setJava(100);stu4.setName("ddd");stu4.setNo("09091219");stu4.setSex("M");int d=stu4.getJava();System.out.println("第四个学生的信息为:\r\n"+"姓名是:"+stu4.getName()+"\r\n"+"年龄是:"+stu4.getAge()+"\r\n"+"性别是:"+stu4.getSex()+"\r\n"+"学号是:"+stu4.getNo()+"\r\n"+"成绩是:"+stu4.getJava()+"\r\n");Student stu5=new Student();stu5.setAge(22);stu5.setJava(89);stu5.setName("eee");stu5.setNo("097");stu5.setSex("F");int e=stu2.getJava();System.out.println("第五个学生的信息为:\r\n"+"姓名是:"+stu5.getName()+"\r\n"+"年龄是:"+stu5.getAge()+"\r\n"+"性别是:"+stu5.getSex()+"\r\n"+"学号是:"+stu5.getNo()+"\r\n"+"成绩是:"+stu5.getJava()+"\r\n");int max[]={a,b,c,d,e};int m=max[0];for(int i=0;i<5;i++){if(m<max[i]){m=max[i];}}System.out.println("5个人中java成绩最大值是:"+m);}}//Student类package Test;public class Student {private String sNo;private String sName;private String sSex;private int sJava;private int sAge;//set方法public void setJava(int java){sJava=java;;}public void setAge(int age){sAge=age;}public void setNo(String no){sNo=no;}public void setName(String name){ sName=name;}public void setSex(String sex){sSex=sex;}//get方法public int getJava(){return sJava;}public int getAge(){return sAge;}public String getNo(){return sNo;}public String getName(){return sName;}public String getSex(){return sSex;}}。
java面向对象实验报告

java面向对象实验报告《Java面向对象实验报告》摘要:本实验报告旨在探讨Java面向对象编程的基本概念和实践方法。
通过实验,我们将学习如何创建类、对象、封装、继承和多态等面向对象的特性,并通过实际代码演示这些概念的应用。
本报告将详细介绍实验过程和结果,并总结所得到的经验和教训。
一、实验目的1. 了解面向对象编程的基本概念和原则2. 掌握Java语言中类、对象、封装、继承和多态的使用方法3. 通过实验加深对面向对象编程的理解和掌握二、实验环境1. Java开发环境:Eclipse/IntelliJ IDEA等2. Java SDK版本:1.8及以上三、实验内容1. 创建一个简单的Java类2. 创建对象并调用对象方法3. 实现类的封装和访问控制4. 实现类的继承和方法重写5. 实现类的多态四、实验步骤1. 创建一个名为Person的Java类,包含姓名和年龄两个私有属性,并提供公有的get和set方法进行访问和修改。
2. 创建一个名为Student的子类,继承Person类,并重写父类的get方法。
3. 创建一个名为Teacher的子类,继承Person类,并重写父类的get方法。
4. 创建一个名为Main的主类,实例化Person、Student和Teacher对象,并调用其方法进行测试。
五、实验结果1. 成功创建了Person、Student和Teacher三个类,并实现了类的封装、继承和多态。
2. 通过测试,验证了类的封装和访问控制的有效性。
3. 通过测试,验证了类的继承和方法重写的有效性。
4. 通过测试,验证了类的多态的有效性。
六、实验总结通过本次实验,我深刻理解了面向对象编程的重要性和优势,掌握了Java语言中面向对象编程的基本概念和实践方法。
在今后的学习和工作中,我将继续加强对面向对象编程的理解和应用,不断提高自己的编程水平。
七、实验感想通过本次实验,我对Java面向对象编程有了更深入的了解,也更加熟练地掌握了面向对象编程的基本概念和实践方法。
实验3Java面向对象编程(类与对象)实验

实验3Java面向对象编程(类与对象)实验实验3 Java面向对象编程(1)一、实验目的:1.掌握Java 面向对象编程的基础概念和编程方法2.掌握类的概念,属性和方法的定义注意:类的结构的设计,类的编写方法。
二、实验环境(硬/软件要求):通过局域网互联,安装Windows 2000/XP操作系统环境的JDK1.6.0(或以上版本),eclipse。
三、实验内容:编写并调试运行Java程序,进行类的设计,掌握构造函数及类的继承的设计方法。
本次可开始使用Eclipse进行程序开发。
四、实验主要步骤:(一)、编写一个Java Application程序,文件名为Rect_One.java。
目的:掌握类的结构,对象的引用,熟悉属性、方法的使用。
要求::1.建立一个类,①矩形的属性宽、高、面积、周长分别为width、height,S、L;②方法setBox( ),设置width和height的初始值,③方法getArea( ),计算矩形的面积S。
④方法getL( ),计算矩形的周长L。
2.在主类的main方法中,输出矩形的长、宽和面积、周长。
3.增加两个构造方法,对矩形进行初始化。
4.对构造方法分别进行测试。
(二)编写一个复数类,包含实部和虚部属性,还有复数相加、相减以及复数的求模、输出复数字符串”a+bi”。
(三)课后试验,教材实验3内容(2)设计银行账户类。
包括帐号、姓名、开户时间、余额,成员方法包括存款、取款、查询余额,计算利息等。
对所设计的类进行测试。
(四)编写一个描述学生基本情况的类属性包括姓名,学号,语文成绩,数学成绩和英语成绩,方法包括信息输出,设置姓名和学号,设置三门课程成绩,计算总成绩和平均成绩, 并对所录入的学生按照总分排序进行输出。
选作题:(五)设计实验验证有继承关系的三级父子类的构造方法和析沟方法的执行次序,并回答以下问题1 构造子类对象的时候会调用父类的构造方法吗?2 父类和子类构造方法的执行顺序?谁先执行?五、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1 独立完成参考程序的代码、编译、调试与运行六、实验报告形式(纸质/电子):1.本次试验报告采用手写一、二、三题代码(纸质A4纸),试验结果截图打印出来,附在试验报告后。
计算机学院Java语言与面向对象程序设计实验报告

实验3-3:
Shiyan33.java
说明:
输入: 输入矩形的长和宽
输出: 输出为矩形的周长和面积
…
------------------------------------------------------------
实验4-1:
Shiyan41.java
说明:
输入: 按提示输入矩形的长和宽或者是正方形的边长
输出:输出为矩形或者正方形的周长和面积
Step1:
为实验3中定义的矩形类派生一个子类: 正方形类。正方形类的操作同样是求周长和面积。则这个子类除了从父类继承来的方法之外, 还需要定义哪些方法? 列出正方形类的所有域与方法。编程验证所编写的正方形类。
Step2:
定义接口Printable, 其中包括一个方法printItMyWay(), 这个方法没有形参, 返回值为空。
else
return false;
}
…
------------------------------------------------------------
实验5-1:
Shiyan51.java
说明:
输入: 从电脑某文件夹中选择一个文件
输出: 输出为文件的创建日期, 时间, 文件类型, 文件名称, 文件长度
Step3:
改写矩形类使之实现Printable接口, 用printItMyWay()方法将矩形的相关信息(长, 宽, 周长, 面积)打印在屏幕上。
Step4:
改写正方形类, 重载printItMyWay()方法, 将正方形的边长、周长、面积打印在屏幕上。
实验4-2:
Shiyan42.java
JAVA 实验报告一:面向对象特性实验

实验报告实验项目一Java面向对象特性实验多态性与动态绑定一、实验目的1.掌握多态性在继承中的运用;2.理解动态绑定的含义;3.学会使用抽象类;4.了解成员变量的隐藏。
二、实验内容假设某班级里既有本科生也有研究生,请编写程序统计出全班学生的成绩等级并显示出来。
.三、实验原理Java上溯造型技术、抽象类、继承性、多态性、动态绑定等技术原理。
四、实验环境主CPU 586以上,内存1G以上,操作系统Windows XP,eclipse 。
五、实验步骤1、创建一个Polymorphism.java 项目图 1 创建Polymorphism.java 项目。
2、创建类 Polymorphism。
图 2 创建类 Polymorphism 3、创建抽象类Student图 3 抽象类Student4.创建继承于Student的Undergraduate类图 4 Undergraduate类5. 创建继承于Student的Postgraduate类图 5 创建Postgraduate类所有类如下:图 6 创建所有类后6.在各类中补充代码,并输入相对应的代码可得。
6.1 抽象类Studentabstract class Student {final static int CourseNo = 3;String name;String type;int[] courses;String courseGrade;public Student(String name){ = name;courses = new int[CourseNo];courseGrade="" ; //初始化courseGrade为空串代码1 }public abstract void calculateGrade();public String getName( ){return name;}public String getType( ){return type;//代码2 //返回学生类型}public String getCourseGrade( ){return courseGrade;}public int getCourseScore(int courseNumber){return courses[courseNumber];}public void setName(String name){ = name;}public void setType(String type){this.type = type;}public void setCourseScore(int courseNumber, int courseScore){this.courses[courseNumber]=courseScore;//代码3按课程索引号设置课程成绩}}6.2 创建继承于Student的Undergraduate(本科生)类class Undergraduate extends Student {public Undergraduate(String name ){super(name);type = "本科生";}public void calculateGrade() {int total = 0;double average = 0;for (int i = 0; i < CourseNo; i++) {total+=courses[i]; // 代码4 // 累加各门课程成绩};average = total / CourseNo;if (average>=80&&average<100) courseGrade = "优秀";else if (average>=70&&average<80) courseGrade = "良好";else if (average>=60&&average<70) courseGrade = "一般";else if (average>=50&&average<60) courseGrade = "及格";else courseGrade = "不及格";}}6.3 创建继承于Student的Postgraduate(研究生)类class Postgraduate extends Student {public Postgraduate(String name){super(name);type = "研究生";}public void calculateGrade(){int total = 0;double average = 0;for (int i = 0; i < CourseNo; i++) {total += courses[i];};average = total / CourseNo;if (average>=90&&average<100) courseGrade = "优秀";else if (average>=80&&average<90) courseGrade = "良好";else if (average>=70&&average<80) courseGrade = "一般";else if (average>=60&&average<70) courseGrade = "及格";else courseGrade = "不及格";}}6.4 创建类 Polymorphismpublic class Polymorphism {public static void main(String[] args) {Student[] students = new Student[5];students[0] = new Undergraduate("陈建平");students[1] = new Undergraduate("鲁向东");students[2] = new Postgraduate("匡晓华");students[3] = new Undergraduate("周丽娜");students[4]=new Postgraduate("梁欣欣"); // 代码5 // 创建姓名为梁欣欣的Postgraduate对象students[4]for (int i=0; i<5 ;i++) {students[i].setCourseScore(0,87);students[i].setCourseScore(1,90);students[i].setCourseScore(2,78);}for (int i=0; i<5 ;i++) {students[i].calculateGrade();}System.out.println("姓名" + " 类型" +" 成绩");System.out.println("-----------------------");for (int i=0; i<5 ;i++) {System.out.println(students[i].getName( )+" "+students[i].getType( )+" "+students[i].getCourseGrade( ));}}}六、实验结果运行可得如下实验结果:图 7 实验运行结果七、实验分析7.1在 Polymorphism 类中有一个循环语句用来计算每个学生的成绩等级for(int i=0;i<5;i + +){student[i].calculateGrade();}这里的 calculateGrade() 方法,如果对象是研究生,即按照研究生的标准来计算。
Java面向对象实验报告

实验一:JAVA输入与输出的应用一、实验目的(1)理解流类的概念和意义(2)掌握标准的输入输出及标准错误(3)文件操作,对流类进行读取,掌握其构造器方法二、实验设备个人计算机windows XP,JDK1.5编译开发环境、Eclipse文本编辑器。
三、实验步骤、方法与要求实验一;编写一个程序,分别统计并输出文本文件中元音字母a e i o u 的个数实验二;编程实现以下功能,在屏幕上显示输入姓名,然后将用户输入的姓名保存到文本文件中,重复进行,直到用户输入空字符串为止。
四、实验结果示例1:实验一2:实验二五、程序清单列出完成上述实验步骤所要求编写的程序源代码实验一:package chapter10;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public class Test {public static void main(String[] args) throws IOException { int ch;File file1=new File("F:\\蔺永虎作业\\TestFile.txt");try {@SuppressWarnings("resource")FileInputStream fin=new FileInputStream(file1);System.out.println("文件中的信息为:");ch=fin.read();while(ch!=-1){System.out.print((char)ch);ch=fin.read();}FileInputStream fin1=new FileInputStream(file1);int s,aa=0 ;s=fin1.read();while(s!=-1){char c= (char) s;if(c=='a'){aa++;}s=fin1.read();}System.out.println(" TestFile.txt中a的个数为:"+aa);fin1.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}实验二;package chapter10;import java.io.*;public class ImputName{public static void main(String args[]) throws IOException{String s;InputStreamReader isr=new InputStreamReader(System.in);BufferedReader br=new BufferedReader(isr);FileWriter fw=new FileWriter("F:\\蔺永虎作业.\\InputName.txt"); BufferedWriter bw=new BufferedWriter(fw);System.out.println("请输入姓名:(以空行结束)");while(true){System.out.println("输入姓名: ");System.out.flush();s = br.readLine();if(s.length()==0)break;bw.write(s);bw.newLine();}br.close();bw.close();System.out.println("输入的姓名存入到F:\\蔺永虎作业.\\InputName.txt");}}六、实验总结这次的实验对以自己的流方式向文件中写入的这种类型的题,有了进一步的了解,而且对于这种异常处理的方法,也有了更深一步的印象,DataOutputStream可以把各种丰富类型的数据写入磁盘,在实际操作中用的这种方法,也可以解决很多不同类对象。
实验二 Java面向对象编程

public Bank() {
customer = new Customer[10];
numberofCustomer = 0;
}
public void addCustomer(Customer aa) {// addCustomer方法
customer[numberofCustomer++] = aa;
·添加一个公有构造方法:两个形式参数firstName,lastname,用于初始化客户姓名;
·添加getFirstName方法:该方法返回客户的firstName实例变量;
·添加getLastName方法:该方法返回客户的lastName实例变量;
·添加getAccount方法:该方法返回客户的account实例变量;
}
public int getnumberofCustomer() {// getNumberOfCustomers方法
return numberofCustomer;
}
public Customer getCustomer(int number) {// getCustomer方法:根据传进来的数组下标返回指定下标的Customers对象。
·添加一个公有方法:getBalance(),用于返回balance的值,返回值是double型;
·该类文件位于包:com.mybank.domain。
3.创建Customer类:
·位于包:com.mybank.domain中;
·向Customer类添加三个实例变量:firstName,lastName,account(Account对象);
public class Customer {//创建Customer类
面向对象实验报告Java

max1=i;
max2=j;
max3=k;
if (max1<max2){
s=max1;max1=max2;max2=s;
}
if (max1<max3){
s=max1;max1=max3;max3=s;
}
if (max2<max3){
s=max2;max2=max3;max3=s;
}
}
void sort(int t1,int t2[]){ //父类中的方法用来实现升序
//用选择法按升序排列
for(i=0;i<t1-1;i++){
k=i;
for(j=i+1;j<t1;j++)
if(t2[j]<t2[k]) k=j;
if (k!=i){
swap=t2[i];
t2[i]=t2[k];
}
}
public class Class1{
public static void main (String args[]){
Sort2or3 m1 = new Sort2or3();
m1.sort(100,200);
System.out.println("两个数从大到小为:"+m1.max1+","+m1.max2);
t2[k]=swap;
}
}
}
}
class sub_sort_Demo extends sort_Demo{
void sort(int t1,int t2[]){ //子类中的方法实现降序
//用选择法实现降序排列
for(i=0;i<t1-1;i++){
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实验报告

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面向对象编程实验报告篇一:java面向对象编程实验报告信息工程学院Java程序设计实验/实习报告学院:信息工程学院班级:信息112 姓名:吴连梅学号:XX013305 成绩:A实验二面向对象编程1.实验目的(1)掌握类与对象基本知识;(2)Java中的继承机制及包(package)、接口(interface)等的设计方法;(3)掌握static、this、super等关键字的使用;(4)掌握Java中两种比较器的用法。
2.实验内容实验题 1 定义一个类Book,包含两个属性:一个是private的String类型的属性title、一个是private的float类型的属性listPrice,封装这两个属性的四个方法setTitle()和getTitle()、setListPrice( )和geListPrice ()。
基本要求:(1)设计类Book及类BookManagement,在类BookManagement中输出Book类的对象的两个private属性;(2)重写父类的toString()方法,实现Book类实例的两个属性的输出。
实验过程:新建工程后,在工程下面建立一个包Book,在包下再建立一个Book类,类中包含两个属性,一个是private的String类型的属性title、一个是private的float类型的属性listPrice,之后是封装这两个属性的四个方法,用快捷键Alt+Shift+S选择gennerate Getters and Setters,再实验报告的内容与格式按任课教师的要求书写。
然后就是重写父类的toString()方法,用快捷键Alt+Shift+S选择gennerate toString,快捷重写。
这段程序写完是这样的:接下来便是BookManagement类,在包book下新建一个类BookManagement,写完的程序是这样的:BookManagement类中创建了书的对象,在主方法中调用output函数,赋值,输出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java面向对象编程实验报告
篇一:java面向对象编程实验报告
信息工程学院
Java程序设计实验/实习报告
学院:信息工程学院班级:信息112 姓名:吴连梅学号:XX013305 成绩:A
实验二面向对象编程
1.实验目的
(1)掌握类与对象基本知识;
(2)Java中的继承机制及包(package)、接口(interface)等的设计方法;
(3)掌握static、this、super等关键字的使用;
(4)掌握Java中两种比较器的用法。
2.实验内容
实验题 1 定义一个类Book,包含两个属性:一个是private的String类型的属性title、一个是private的float类型的属性listPrice,封装这两个属性的四个方法setTitle()和getTitle()、setListPrice( )和geListPrice ()。
基本要求:
(1)设计类Book及类BookManagement,在类BookManagement中输出Book类的对象的两个private属性;
(2)重写父类的toString()方法,实现Book类实例的两个属性的输出。
实验过程:
新建工程后,在工程下面建立一个包Book,在包下再建立一个Book类,类中包含两个属性,一个是private的String类型的属性title、一个是private的float类型的属性listPrice,之后是封装这两个属性的四个方法,用快捷键Alt+Shift+S选择gennerate Getters and Setters,再实验报告的内容与格式按任课教师的要求书写。
然后就是重写父类的toString()方法,用快捷键Alt+Shift+S选择gennerate toString,快捷重写。
这段程序写完是这样的:
接下来便是BookManagement类,在包book下新建一个类BookManagement,
写完的程序是这样的:
BookManagement类中创建了书的对象,在主方法中调用output函数,赋值,输出。
程序写完后,将其存盘,再进行运行,得出的结果如下:
实验题2 有两个类:MobileManagement和Mobile,分别描述如图 3.4所示两部手机名称及价格,类MobileManagemen(本文来自:小草范文网:java面向对象编程实验报告)t在包,而Mobile在包
基本要求:设计相关类,使程序能够显示两部手机的价格和数量,运行结果如图3.5。
E365, 1780 RMB M330, 1450 RMB
图3.4 手机及价格图
图3.5 运行结果
实验过程:
新建Mobile类,在类中定义成员变量name、price,自动生成构造方法,导入Get、Set方法用来访问私有变量,添加toString方法。
这个类中主要是创建Mobile类,生成类的构造方法,封装类。
MobileManagement类中,count 是一个类变量,用来计算输出的电子产品个数。
下来是类方法output()调用Mobile类,主方法中,给变量赋值,并写输出函数。
篇二:《面向对象程序设计(Java)》实验报告
面向对象程序设计
(Java)
实验报告
院
系:
专业:信息管理与信息系统
班级:
学生姓名:
实验报告评分标准
评分标准的说明:
1.各子项基本完成可计满分;
2.各个子项中缺少或者完成不佳者,该子项可视情况直接记为0分;
3.抄袭实验报告、实验方案、代码、设计或实验结果者,该单项可记0分; 4.实验过程中无故缺勤、玩游戏或者做与实验无关内容者,本实验记0分。
实验报告
院(系):信息学院课程名称:面向对象程序设计(Java)日期:
实验报告
院(系):信息学院课程名称:面向对象程序设计(Java)日期:
篇三:Java面向对象程序设计课程实验报告1
《Java面向对象程序设计》课程
实验一报告
学号:姓名:专业:学校:
1.1 实验目标
? ? ? ? ? ?
查找、下载JDK系统文件,并正确完成JDK的安装;正确安装并使用Eclipse软件;
完成利用IDE进行简单Java程序的编写、调试及运行;完成利用CMD进行简单Java程序的编写、调试及运行;实验Java运算符在程序中的使用;实验Java数组程序的应用。
1.2 实验要求
? 请各位学习者记录实验调试中出现的问题、调试过程及解决方法; ? 请各位学习者记录实验成果,并将运行结果抓屏; ? 请各位学习者按教学大纲的要求完成实验报告–完成实验报告Word文件
–请将程序设计思想和方法、最终程序清单(自行设计部分明确表示)、
运行结果抓屏等
? 报告提交到课程【作业】中。
1.3 实验内容
1.3.1 实验题1:搭建Java开发环境
【题目要求】
步骤1:请进入“/cn/index.html”Oracle公司网站,在下
载模块中查找、下载JDK系统文件和DOCS文档(建议选择JDK7以后版本);
步骤2:完成JDK的安装,观察并记录安装后的资源管理器中结构;步骤3:设置系统环境变量,CLASSPATH变量和Path变量(参考教材和视频
课程);
步骤4:完成DOCS文档安装;
步骤5:安装Eclipse软件,运行并测试。
【实验过程记录】
1.Oracle公司网站JDK系统文件下载链接和页面(抓屏)
2.Oracle公司网站DOCS文档下载链接和页面(抓屏)3.系统环境变量设置(记录并抓屏)
CLASSPATH = D:\Program Files\Java\;.; Path =D:\Program Files\Java\;
4.Eclipse软件运行界面(抓屏)
【实验总结和收获】
环境基本搭好
1.3.2 实验题2:利用IDE进行Java程序开发
【题目要求】
IDE开发运行Java程序是Java学习中重要点,使用Eclipse来开发运行Java程序,实现一个简单的程序输出“My name is XXX,I love Java!”。
步骤1:打开Eclipse软件,右击鼠标新建项目;步骤
2:在新建对话框中输入项目名称,生成新项目;
步骤3:按照标准格式写入程序(类的名称可以自己设定,代码撰写要求注意格式和编码规范);
步骤4:程序输出语句“My name is XXX,I love Java!”中的XXX修改为学习者自己的姓名;
步骤5:右键运行项目,调试并记录控制台输出结果。
【实验过程记录】
1.运行中出现的问题与解决方案无,顺利
2.调试完成的最终代码(其中重要部分可以涂红和加粗)
package ;
public class Myname { }
public static void main(String[] args) {}
// TODO Auto-generated method stub
"My name is XXX,I love Java!");。