实验一Java面向对象基础实验报告参考模板

合集下载

实验一Java面向对象基础实验报告参考模板

实验一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. 定义一个由若干个整数组成的数组,要求输出该数组的平均值以及所有的奇数之和。

面向对象方法实验报告

面向对象方法实验报告

一、实验目的1. 理解面向对象方法的基本概念和原理;2. 掌握面向对象程序设计的基本技能;3. 通过实际编程,提高面向对象编程能力。

二、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse三、实验内容1. 面向对象方法的基本概念2. 类和对象的创建与使用3. 继承和多态的应用4. 抽象类和接口的使用5. 面向对象程序设计实例四、实验步骤1. 面向对象方法的基本概念面向对象方法是一种编程范式,它将问题域中的对象抽象成类,并通过对象之间的关系来描述问题。

面向对象方法具有以下特点:(1)封装:将数据和操作数据的方法封装在一起,形成一个独立的实体。

(2)继承:允许一个类继承另一个类的属性和方法,实现代码复用。

(3)多态:允许不同类型的对象对同一消息做出不同的响应。

2. 类和对象的创建与使用(1)定义类:使用class关键字定义一个类,包括属性和方法。

(2)创建对象:使用new关键字创建一个类的实例。

(3)访问对象属性和方法:使用点号(.)操作符访问对象的属性和方法。

示例代码:public class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public int getAge() {return age;}}Person person = new Person("张三", 20);System.out.println("姓名:" + person.getName());System.out.println("年龄:" + person.getAge());3. 继承和多态的应用(1)继承:使用extends关键字实现类的继承。

面向对象技术实训报告

面向对象技术实训报告

一、摘要本次面向对象技术实训以Java编程语言为基础,通过实例分析和实践操作,让学生深入了解面向对象编程的基本概念、原则和方法。

实训过程中,学生掌握了面向对象编程的基本语法、类和对象的设计与实现、继承与多态等核心概念,并通过实际项目开发提高了编程能力。

本文将从实训内容、方法与收获三个方面进行总结。

二、实训内容1. 面向对象基本概念(1)面向对象编程(OOP)的基本概念:封装、继承、多态。

(2)Java编程语言中的面向对象编程特性:类、对象、构造方法、访问控制符等。

2. 类和对象的设计与实现(1)设计一个简单的Java程序,实现学生信息管理系统。

(2)设计并实现学生类、教师类、课程类等实体类,以及相关的方法。

3. 继承与多态(1)使用继承实现学生类和教师类的继承关系。

(2)通过多态实现不同类对同一方法的重写和重载。

4. 实际项目开发(1)设计并实现一个图书管理系统,包括图书类、读者类、借阅类等。

(2)实现图书的借阅、归还、查询等功能。

三、实训方法1. 理论学习:通过阅读教材、参考书籍,了解面向对象编程的基本概念和原理。

2. 实践操作:根据实训内容,动手编写Java程序,实现面向对象编程。

3. 交流与讨论:在实训过程中,与其他同学进行交流与讨论,共同解决遇到的问题。

4. 查阅资料:针对遇到的具体问题,查阅相关资料,提高编程能力。

四、实训收获1. 理论知识:掌握了面向对象编程的基本概念、原则和方法,为后续课程和实际项目开发奠定了基础。

2. 编程能力:通过实际项目开发,提高了编程能力,学会了如何将理论知识应用到实际项目中。

3. 团队协作:在实训过程中,与其他同学进行交流与讨论,提高了团队协作能力。

4. 问题解决能力:在遇到问题时,能够主动查阅资料、请教他人,提高了问题解决能力。

五、总结本次面向对象技术实训使我受益匪浅,不仅加深了对面向对象编程的理解,还提高了编程能力。

在今后的学习和工作中,我会继续努力,将所学知识运用到实际项目中,为我国信息技术领域的发展贡献自己的力量。

面向对象设计_实验报告

面向对象设计_实验报告

一、实验目的1. 理解面向对象设计的基本概念和原则;2. 掌握面向对象设计的常用方法和技术;3. 学会运用面向对象设计方法进行软件系统设计和实现;4. 提高软件设计能力和编程能力。

二、实验环境1. 操作系统:Windows 102. 开发工具:Eclipse IDE3. 编程语言:Java三、实验内容本次实验主要围绕面向对象设计进行,包括以下内容:1. 面向对象设计的基本概念和原则;2. 类的设计与实现;3. 继承与多态的应用;4. 设计模式的应用;5. 软件系统设计与实现。

四、实验步骤1. 面向对象设计的基本概念和原则(1)面向对象设计的基本概念:面向对象设计是一种软件开发方法,它将问题域中的对象作为设计的基本单元,以对象为核心进行系统设计。

(2)面向对象设计的基本原则:封装、继承、多态。

2. 类的设计与实现(1)定义类:根据问题域中的对象,定义相应的类。

(2)实现类:为类添加属性和方法,实现类的功能。

3. 继承与多态的应用(1)继承:通过继承,可以复用已有的类的设计和实现,提高代码的复用性。

(2)多态:多态是面向对象设计的一个重要特性,它可以实现代码的灵活性和扩展性。

4. 设计模式的应用(1)单例模式:确保一个类只有一个实例,并提供一个全局访问点。

(2)工厂模式:用于创建对象,而不直接指定对象的具体类型。

(3)观察者模式:当一个对象的状态发生变化时,其他依赖于该对象的对象会得到通知。

5. 软件系统设计与实现(1)需求分析:分析问题域,确定软件系统的功能和性能要求。

(2)系统设计:根据需求分析,设计软件系统的架构和模块。

(3)编码实现:根据系统设计,实现软件系统的功能。

(4)测试与调试:对软件系统进行测试,确保其功能符合预期。

五、实验结果与分析1. 实验结果本次实验完成了面向对象设计的基本概念、类的设计与实现、继承与多态的应用、设计模式的应用以及软件系统设计与实现等内容。

通过实验,掌握了面向对象设计的方法和技术,提高了软件设计能力和编程能力。

Java实验报告面向对象

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面向对象实验报告》摘要:本实验报告旨在探讨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面向对象编程有了更深入的了解,也更加熟练地掌握了面向对象编程的基本概念和实践方法。

面向对象设计实验报告

面向对象设计实验报告

一、实验目的1. 理解面向对象设计的核心概念,如封装、继承、多态等。

2. 掌握面向对象设计的方法和步骤。

3. 通过实际案例分析,提高面向对象设计的实践能力。

二、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse三、实验内容1. 面向对象设计的基本概念2. 类与对象3. 继承与多态4. 实际案例分析四、实验步骤1. 面向对象设计的基本概念(1)定义:面向对象设计(Object-Oriented Design,OOD)是一种以对象为中心的设计方法,通过将现实世界中的实体抽象为对象,以对象及其相互关系来描述系统的结构和行为。

(2)核心概念:a. 封装:将对象的属性(数据)和行为(方法)封装在一起,对外提供接口。

b. 继承:允许一个类继承另一个类的属性和方法,实现代码复用。

c. 多态:允许不同类的对象对同一消息作出响应,实现行为的变化。

2. 类与对象(1)定义:类是具有相同属性和行为的对象的抽象,对象是类的实例。

(2)步骤:a. 定义类:创建一个新的类,定义属性(成员变量)和方法(成员函数)。

b. 创建对象:使用new关键字创建类的实例。

c. 访问对象属性和方法:使用点号(.)操作符访问对象的属性和方法。

3. 继承与多态(1)继承:定义一个新的类(子类)继承自另一个类(父类),子类继承父类的属性和方法。

(2)多态:允许不同类的对象对同一消息作出响应,实现行为的变化。

(3)步骤:a. 定义父类:创建一个父类,定义属性和方法。

b. 定义子类:创建一个子类,继承自父类,并添加新的属性和方法。

c. 实现多态:使用子类对象调用父类方法,实现不同对象对同一消息的不同响应。

4. 实际案例分析(1)案例分析:设计一个简单的图书管理系统。

(2)设计步骤:a. 分析需求:图书管理系统需要管理图书的增删改查等功能。

b. 设计类:设计图书类(Book)、借阅者类(Borrower)和管理员类(Admin)。

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实验报告

java实验报告Java 实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解和掌握Java 语言的基本语法、面向对象编程的概念和方法,以及常用类库的使用。

同时,培养我们的问题解决能力、逻辑思维能力和代码规范意识,为今后的软件开发工作打下坚实的基础。

二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java Developers3、 JDK 版本:JDK 18三、实验内容本次实验共包括以下三个部分:1、 Java 基本语法练习变量与数据类型运算符与表达式控制流语句(ifelse、for、while、dowhile)数组2、面向对象编程实践类与对象的定义和使用构造函数与方法重载封装、继承与多态抽象类与接口3、 Java 常用类库应用String 类与字符串操作集合框架(ArrayList、HashMap)文件输入输出(File、FileReader、FileWriter)四、实验步骤及代码实现1、 Java 基本语法练习变量与数据类型:```javapublic class VariableDataType {public static void main(String args) {int age = 20;double salary = 50005;String name ="张三";boolean isStudent = true;Systemoutprintln("年龄:"+ age);Systemoutprintln("工资:"+ salary);Systemoutprintln("姓名:"+ name);Systemoutprintln("是否是学生:"+ isStudent);}}```运算符与表达式:```javapublic class OperatorExpression {public static void main(String args) {int num1 = 10;int num2 = 5;int sum = num1 + num2;int difference = num1 num2;int product = num1 num2;int quotient = num1 / num2;int remainder = num1 % num2; Systemoutprintln("和:"+ sum);Systemoutprintln("差:"+ difference);Systemoutprintln("积:"+ product);Systemoutprintln("商:"+ quotient);Systemoutprintln("余数:"+ remainder);}}```控制流语句:```javapublic class ControlFlowStatement {public static void main(String args) {// ifelse 语句int score = 80;if (score >= 90) {Systemoutprintln("优秀");} else if (score >= 80) {Systemoutprintln("良好");} else if (score >= 70) {Systemoutprintln("中等");} else if (score >= 60) {Systemoutprintln("及格");} else {Systemoutprintln("不及格");}// for 循环for (int i = 1; i <= 5; i++){Systemoutprintln("第" + i +"次循环");}// while 循环int j = 1;while (j <= 5) {Systemoutprintln("第" + j +"次 while 循环");j++;}// dowhile 循环int k = 1;do {Systemoutprintln("第" + k +"次 dowhile 循环");k++;} while (k <= 5);}}```数组:```javapublic class ArrayExample {public static void main(String args) {//一维数组int numbers ={1, 2, 3, 4, 5};for (int num : numbers) {Systemoutprintln(num);}//二维数组int matrix ={{1, 2, 3},{4, 5, 6},{7, 8, 9}};for (int row : matrix) {for (int num : row) {Systemoutprint(num +"");}Systemoutprintln();}}}```2、面向对象编程实践类与对象的定义和使用:```javapublic class Person {private String name;private int age;public Person(String name, int age) {thisname = name;thisage = age;}public void showInfo(){Systemoutprintln("姓名:"+ name +",年龄:"+ age);}public static void main(String args) {Person person1 = new Person("张三", 20);person1showInfo();}}```构造函数与方法重载:```javapublic class ConstructorOverloading {private String name;private int age;public ConstructorOverloading(String name) {thisname = name;}public ConstructorOverloading(String name, int age) {thisname = name;thisage = age;}public void showInfo(){if (age == 0) {Systemoutprintln("姓名:"+ name);} else {Systemoutprintln("姓名:"+ name +",年龄:"+ age);}}public static void main(String args) {ConstructorOverloading person1 = new ConstructorOverloading("张三");person1showInfo();ConstructorOverloading person2 = new ConstructorOverloading("李四", 25);person2showInfo();}}```封装、继承与多态:```java//父类class Animal {private String name;public Animal(String name) {thisname = name;}public void eat(){Systemoutprintln(name +"正在吃东西");}}//子类继承父类class Dog extends Animal {public Dog(String name) {super(name);}public void bark(){Systemoutprintln(name +"在叫");}}public class InheritancePolymorphism {public static void main(String args) {Animal animal = new Dog("小黑");animaleat();//向下转型为 Dog 类型调用 bark 方法if (animal instanceof Dog) {Dog dog =(Dog) animal;dogbark();}}}```抽象类与接口:```java//抽象类abstract class Shape {abstract void draw();}//实现抽象类的子类class Circle extends Shape {@Overridevoid draw(){Systemoutprintln("画一个圆");}}//接口interface Moveable {void move();}//实现接口的类class Car implements Moveable {@Overridepublic void move(){Systemoutprintln("汽车在移动");}}public class AbstractInterfaceExample {public static void main(String args) {Shape shape = new Circle();shapedraw();Moveable car = new Car();carmove();}}```3、 Java 常用类库应用String 类与字符串操作:```javapublic class StringOperation {public static void main(String args) {String str1 ="Hello, ";String str2 ="World!";String str3 = str1 + str2;Systemoutprintln(str3);int length = str3length();Systemoutprintln("字符串长度:"+ length);char charAt = str3charAt(5);Systemoutprintln("第 5 个字符:"+ charAt);boolean contains = str3contains("World");Systemoutprintln("是否包含 World:"+ contains);}}```集合框架(ArrayList、HashMap):```javaimport javautilArrayList;import javautilHashMap;import javautilMap;public class CollectionFramework {public static void main(String args) {// ArrayListArrayList<String> names = new ArrayList<>();namesadd("张三");namesadd("李四");namesadd("王五");for (String name : names) {Systemoutprintln(name);}// HashMapHashMap<String, Integer> ages = new HashMap<>();agesput("张三", 20);agesput("李四", 25);agesput("王五", 30);for (MapEntry<String, Integer> entry : agesentrySet()){Systemoutprintln(entrygetKey()+"的年龄是" +entrygetValue());}}}```文件输入输出(File、FileReader、FileWriter):```javaimport javaioFile;import javaioFileReader;import javaioFileWriter;import javaioIOException;public class FileIOExample {public static void main(String args) {//写入文件try (FileWriter writer = new FileWriter("outputtxt")){writerwrite("这是写入文件的内容");} catch (IOException e) {eprintStackTrace();}//读取文件try (FileReader reader = new FileReader("outputtxt")){int character;while ((character = readerread())!=-1) {Systemoutprint((char) character);}} catch (IOException e) {eprintStackTrace();}}}```五、实验结果与分析1、 Java 基本语法练习变量与数据类型:能够正确定义和使用各种数据类型的变量,并进行基本的运算和输出。

Java面向对象实验报告

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面向对象程序设计实验报告参考模板

Java面向对象程序设计实验报告参考模板

一、实验目的及内容目的:掌握和巩固Java面向对象程序设计的概念、方法。

内容:1.设计一个Java程序,该程序运行后,说明:一个类的所有对象共享同一个类成员变量;一个类的多个对象拥有各自的实例成员变量。

2.编写一个表示人的类Person,该类满足以下要求:●有两个private成员变量:name(名字)、age(年龄);在Person类外访问这两个成员变量均通过接口器函数(getXXX,setXXX)。

●该类具有一个有两个参数的构造函数,这两个参数分别用来初始化name和age成员变量。

●该类包含一个方法public boolean older(Person r),用于比较当前对象年纪是否比参数r的年纪大,若是,则返回true,否则,返回false。

编写另外一个类:TestPerson,该类包含下面函数:public static void sortPerson(Person[] personList),在该函数中利用Person类的older方法实现对数组personList按年龄从小到大排序。

main函数位于该类中。

在main函数中(1)创建Person类的10个对象,并保存到一个数组中,创建10个对象时,每个对象的年龄为0~100的一个随机数(用Math.random()函数得到)。

(2)输出这个数组中每个对象的名字、年龄。

(3)调用sortPerson方法,对这个数组中的10个Person对象按年龄排序。

(4)输出排序后数组中每个对象的名字、年龄。

二、要求1.给出上述程序的中涉及到的类的类图(可用visio画)、解决上述问题的思路、代码和测试结果。

1.设计一个Java程序,该程序运行后,说明:一个类的所有对象共享同一个类成员变量;一个类的多个对象拥有各自的实例成员变量。

设计思路:要实现一个类的所有对象共享同一个类成员变量;一个类的多个对象拥有各自的实例成员变量。

我创建了一个Number类,并创建了两个对象number1和number2,该类有一个类成员函数static int numberofsum(int a, int b)来求和,一个类成员变量countnumber来统计对象的个数,还有实例成员变量num,通过两个对象求和以及统计对象个数,说明了一个类的所有对象共享同一个类成员变量,两个对象都有自己的num值说明了一个类的多个对象拥有各自的实例成员变量。

面向对象实验报告Java

面向对象实验报告Java
double s;
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语言为基础,结合实际项目需求,学习并实践面向对象编程的方法和技巧。

二、实训目标1. 掌握面向对象编程的基本概念和原理;2. 熟悉Java语言的基本语法和常用类库;3. 能够运用面向对象的方法设计、实现和维护软件系统;4. 培养团队协作和沟通能力。

三、实训内容1. 面向对象编程基本概念(1)面向对象的基本特征:封装、继承、多态;(2)面向对象的基本原理:抽象、类、对象、继承、多态、接口;(3)面向对象的设计模式:单例模式、工厂模式、观察者模式等。

2. Java语言基础(1)Java语言的基本语法;(2)常用类库:String、ArrayList、HashMap等;(3)异常处理、多线程编程。

3. 面向对象设计实现(1)设计一个简单的面向对象系统,包括用户管理、权限管理、数据管理等模块;(2)运用面向对象的设计原则和设计模式,提高代码的可读性、可维护性和可扩展性;(3)使用UML图进行需求分析和系统设计。

4. 项目实践(1)根据实际需求,设计并实现一个具有实际应用价值的软件系统;(2)在项目开发过程中,注重团队协作和沟通,提高项目进度和质量;(3)学会使用版本控制工具,如Git,进行代码管理。

四、实训过程1. 阶段一:理论学习(1)通过阅读教材、参考书籍和网上资料,学习面向对象编程的基本概念和原理;(2)通过课堂讲解和课后练习,掌握Java语言的基本语法和常用类库。

2. 阶段二:系统设计(1)分析项目需求,确定系统功能模块;(2)运用面向对象的设计原则和设计模式,进行系统设计;(3)使用UML图描述系统架构和类关系。

3. 阶段三:代码实现(1)根据系统设计,编写Java代码实现各个模块的功能;(2)在编写代码过程中,注意代码规范和性能优化;(3)使用版本控制工具进行代码管理。

java面向对象编程实验报告

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函数,赋值,输出。

java《Java程序设计》实验报告1:Java面向对象程序设计

java《Java程序设计》实验报告1:Java面向对象程序设计

开课实验室:现代信息交流中心403开课时间:2019年**月**日实验报告:2019年11月2日一、实验目的:熟悉和掌握Java中的面向对象编程,包括类、属性、方法、构造方法。

二、实验内容:1. 定义一个矩形类Rectangle:(1)属性:长length、宽width(2)方法:getArea()求面积、getPerimeter()求周长,showAll()分别在控制台输出长、宽、面积、周长(3)构造方法Rectangle(width, length),分别给两个属性赋值编写测试类,创建Rectangle对象,并输出相关信息。

2. 设计一个类Student:(1)属性包括姓名、学号和成绩(2)方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。

编写测试类运行上面的方法。

3. 编写复数类Complex,使用该类验证两个复数2+2i 和3+3i 相加产生一个新的复数5+5i 。

复数类Complex 满足如下要求:(1)属性:RealPart : int型,代表复数的实数部分;ImaginPart : int型,代表复数的虚数部分(2)方法:Complex( ) : 构造方法,将复数的实部和虚部都置0Complex( int r , int i ) : 构造方法,形参r 为实部的初值,i为虚部的初值。

Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。

String toString( ) : 把当前复数对象的实部、虚部组合成a+bi 的字符串形式,其中a 和b分别为实部和虚部的数据。

编写测试类对其进行测试。

三、源代码清单:1.源代码清单package text1;public class Rectangle {float length,width;Rectangle(float width, float length) {this.width = width;this.length = length;}double getArea(){return length*width;}double getPerimeter(){return 2*(length+width);}void showAll(){System.out.println("长:"+length);System.out.println("宽:"+width);System.out.println("面积:"+getArea());System.out.println("周长:"+getPerimeter());}public static void main(String args[]) {Rectangle a = new Rectangle(2, 5);a.showAll();}}2.源代码清单package text;public class student {String name;int id;private float score;student(String name,int id,int score){=name;this.id=id;this.score=score;}void show() {System.out.println("id:"+id+",name="+name+",score="+score);}public static void sort(student[] stus) {student stu;for(int i = 0;i < stus.length-1;i++) {for(int j = 0;j < stus.length - i - 1;j++) {if(stus[j].score < stus[j+1].score) {stu = stus[j];stus[j] = stus[j+1];stus[j+1] = stu;}}}}public static void main(String[] args) {student[] stus = new student[3];stus[0] = new student("董山炮", 1, 59);stus[1] = new student("丁朵朵", 2, 96);stus[2] = new student("大狗", 3, 77);student.sort(stus);for(student stu : stus) {stu.show();}}}3. 源代码清单package text;public class complex {int RealPart;int ImaginPart;complex(){this.RealPart = 0;this.ImaginPart = 0;}complex(int r,int i){RealPart = r;ImaginPart = i;}int getRealPart(){return this.RealPart;}public int getImaginPart(){return this.ImaginPart;}complex complexAdd(complex a){int RealPart = this.RealPart + a.getRealPart();int ImaginPart = this.ImaginPart + a.getImaginPart();return new complex(RealPart, ImaginPart);}public String toString(){return this.RealPart + "+" + this.ImaginPart + "i";}public static void main(String[] args){complex a = new complex(2,2);complex b = new complex(3,3);complex sum = plexAdd(b);System.out.println(a + "+" + b + "=" +sum ); }}四、运行结果:(给出运行结果贴图)。

java实验报告——对象和类

java实验报告——对象和类

成绩:面向对象原理与Java实践课程实验报告实验1:对象和类姓名 ____班级 ____学号 ____实验地点 ____实验时间 ____指导教师 ____面向对象原理与Java实践课程实验报告实验1:对象和类一、实验目的:●掌握类的定义及应用方法●掌握对象的创建方法,了解实例变量、实例方法和静态字段的特性●体会Java在类和对象的设计中体现的面向对象的思想二、实验要求:●具备Java基础知识(教材第1、2章内容)●掌握Java中对象和类的基本概念和应用方法(教材第3章内容)●设计类时注意保证类的封装性●编写程序完成以下实验内容并上交实验报告(包括电子文档与纸质文档)三、实验内容:设计并实现一个“广石化院电信学院学生通信录”系统。

系统采用字符界面,在出现的主界面中按提示输入相应字符以选择“增加”、“删除”、“修改”、“查找”等功能进行操作(其中“查找”功能除能够查找某个学生的信息之外,还能够显示所有学生的信息)。

记录的存储可采用数组或链表的方式。

四、设计思路:为了实现该系统,首先要需要两个类;一个类为主界面服务,用于接收用户输入信息以及做出相关反应;一个类为学生信息服务,定义学生通讯录信息的各个字段,以及操作字段的各个方法,考虑到部分字段的属性问题,所以将操作方法都写在学生类中,不再另外放置在其他类中。

学生信息将会采用学生类的对象数组来储存。

五、程序源代码:下面是ZhuJieMian 主界面类package pkg_TXL;import java.util.Scanner;public class ZhuJieMian{/**** 该类为通讯录系统的主界面提供主要功能显示,以及负责主菜单与子菜单的正常跳转*/public static void main(String[] args){// TODO Auto-generated method stub//XueShengXinXi[] Stu=ChuShiHua(); //初始化系统数据XueShengXinXi[] Stu=new XueShengXinXi[100];Stu[0]=new XueShengXinXi("专业", "班级", "姓名", "性别", "电话", "家庭住址");Stu[1]=new XueShengXinXi("自动化", "自动化10-1", "张三", "男", "63256", "fnhjfdhsdbh");Stu[2]=new XueShengXinXi("自动化", "自动化10-2", "李四", "女", "653256", "nfhggdfddhsdbh");Stu[3]=new XueShengXinXi("电子", "电子10-1", "王五", "男", "6156", "fnhvjbh");Stu[4]=new XueShengXinXi("电子", "电子10-2", "小红", "女", "63956", "asdfnhjbh");Stu[5]=new XueShengXinXi("网络", "网络10-1", "小明", "男", "656", "nfgdgfnhjbh");Stu[6]=new XueShengXinXi("网络", "网络10-2", "小芳", "女", "62215", "nfgdmmmdfhbdsh");Stu[7]=new XueShengXinXi("计算机", "计算机10-1", "黄龙", "男", "65584", "bbbdddfnhjbh");Stu[8]=new XueShengXinXi("计算机", "计算机10-2", "陈玲", "女", "666114", "mjgfddddfnhjbh");Stu[9]=new XueShengXinXi("测控", "测控10-1", "赵小斌", "男", "644814", "fthnrehbkjhjbh");Stu[10]=new XueShengXinXi("测控", "测控10-2", "钱颖", "女", "63641", "dbfsvnnhjbh");Stu[11]=new XueShengXinXi("电信", "电信10-1", "孙武", "男", "6321514", "mmhmgvvdfnhjbh");Stu[12]=new XueShengXinXi("电信", "电信10-2", "李雨", "女", "6314", "43ghffvvdfnhjbh");for(int x=13;x<Stu.length;x++){Stu[x]=new XueShengXinXi();}System.out.println("欢迎使用广石化电信学院通讯录系统!");ZhuJieMian: for(int exit=0;exit==0;)//exit为退出主菜单的指示变量,0为不退出,非0为退出{System.out.println();System.out.println("************************************");System.out.println("****************主菜单****************");System.out.print(" 1。

java实验报告

java实验报告

java实验报告一、实验目的本次实验的目的是深入了解Java的基本语法和面向对象编程的思想。

通过实践,掌握Java的常用工具和类库,并能熟练使用Java进行编程和调试。

二、实验内容1.环境搭建在本次实验中,我们使用Eclipse作为Java的开发工具,需要安装JDK环境和相关插件。

安装完毕后,我们需要进行相关配置,如添加JDK环境变量,设置Eclipse编译选项等。

2.基本语法和数据类型Java的基本语法和数据类型是Java编程的基础,需要掌握Java的变量、运算符、流程控制语句等基本知识。

在实验中,我们将会练习Java的语法和数据类型的使用,如输出文本、计算数值、定义变量等。

3.面向对象编程思想Java是一门面向对象的编程语言,面向对象思想是Java编程的核心。

在本次实验中,我们将学习Java的类、对象、继承、多态等面向对象的知识,并通过实践来理解和熟悉Java面向对象编程的思想。

4.常用类库和工具Java有丰富的类库和工具,如集合类、IO类、网络编程类等。

在本次实验中,我们将会了解并运用Java的常用类库和工具来实现一些简单的功能,如读写文件、网络通信等。

三、实验步骤1.环境搭建与配置安装JDK环境和Eclipse开发工具,并将JDK环境添加到系统环境变量中。

然后进入Eclipse,设置编译选项和相关插件,如Java自动补全、eclipse编译和调试工具等。

2.基本语法和数据类型基于Java的基本语法和数据类型,我们可以编写一些简单的程序,如输出HelloWorld、计算数字和变量赋值等。

这些程序可以通过Eclipse自带的编译器进行调试和运行。

3.面向对象编程思想通过学习Java的面向对象编程思想,我们可以定义一个类和对应的对象,使用继承和多态来实现复杂的业务逻辑,并使用接口和内部类等技术来封装数据和实现较复杂的功能。

4.常用类库和工具在实践中,我们会用到常用的类库和工具,如java.io包和包。

计算机学院Java语言与面向对象程序设计实验报告

计算机学院Java语言与面向对象程序设计实验报告
方法reset()清零;
实验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

11113200302-面向对象编程(Java)-实验报告模板

11113200302-面向对象编程(Java)-实验报告模板

广东第二师范学院计算机3科学系 试验报告 2015 版
实验正文:
【实验目的】 1、掌握实现类封装的编程方法; 2、实现函数的重载; 3、利用面向对象编程的方法解决简单的实际问题。
【实验要求】 通过现实中的一个应用场景用 Java 设计和实现一个简单控制台应用程序,具体包括:
能利用 public,protected, private 和方法重载(overload)实现类的定义,并完成相应 的程序功能。
1、按照实验步骤对实验中各关键显示屏幕进行截图(含程序代码、运行结果、环境设 置等)并对截图进行简要说明。
2、将最终通过运行的程序和运行结果拷贝文字到实验步骤尾部。
【实验环境】 硬件平台:普通 PC 机硬件环境; 实验环境:Windows 平台 操作系统:Windows XP/2007/2010 实验开发工具:JDK, Eclipse
2016 年 月 日 陈忆群、张渝荣
【实验场地】 H-实- 804
【综合得分】
75
实验报告批阅记录
评分点 分数值 成绩
学生信息 A 实验纪律 B 实验质量 C 文档质量 D 内容质量 合计
12345678901 0 20 0 15 0 15 0 50
张三四
15
16
12
32
75
实 实验纪律 验 实验质量 评 文档质量 语 内容质量
文件名:计算机科学系实验报告模板样张(20160406).doc 共 5 页 第 5 页 日期:2017 年 7 月 18 日
广东第二师范学院计算机科学系实验报告实验报告课程代号111132003课程名称面向对象编程java实验名称类封装和重载实验代码11113200302实验类型验证性学号12345678901实验者张三四班级合作者实验时间2016年月日实验场地h实804指导老师陈忆群张渝荣综合得分75实验报告批阅记录评分点学生信息a实验纪律b实验质量c文档质量d内容质量合计分数值12345678901020015015050成绩张三四1516123275实验评语实验纪律e
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一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. 定义一个由若干个整数组成的数组,要求输出该数组的平均值以及所有的奇数之和。

import java.util.Random;
public class Experiment02 {
public static void main(String[] args) {
Random r = new Random(System.currentTimeMillis());
int[] nums = new int[10];
for (int i = 0; i < 10; i++) {
nums[i] = r.nextInt(100);
System.out.print((i != 0 ? "," : "") + nums[i]);
}
System.out.println();
System.out.println("平均数:" + getAverage(nums));
System.out.println("奇数和:" + evenTotal(nums));
}
public static int evenTotal(int[] numbers) {
int sum = 0;
for (int i = 0; i < numbers.length; i++) {
sum += (numbers[i] % 2 != 0 ? numbers[i] : 0); } return sum;
}
public static double getAverage(int[] numbers) {
int sum = 0;
for (int i = 0; i < numbers.length; i++) {
sum += numbers[i];
}
return sum * 1.0 / numbers.length;
}
}
运行结果:(每次运行结果不一样)
3. 随机生成30个0-9之间的数字,分别统计0-9这10个数字分别出现了多少次。

import java.util.Random;
public class Experiment03 {
public static void main(String[] args) {
Random r = new Random(System.currentTimeMillis());
int[] nums = new int[10];
int[] count = new int[10];
for (int i = 0; i < 10; i++) {
nums[i] = r.nextInt(10);
count[nums[i]]++;
}
for (int i = 0; i < 10; i++) {
System.out.println("数字" + i + "的出现次数为:" + count[i]);
}
}
}
运行结果(每次运行结果不一样):
友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。

相关文档
最新文档