Java实验报告三类和对象

合集下载

实验三 类与对象

实验三 类与对象

实验编号: 3 实验报告 2019年4月15日级班实验名称:类与对象姓名:_ 学号:_ 2017110554 指导老师:_____实验成绩:_ __实验3 类与对象一、实验目的:1)本实验的目的是让学生使用类来封装对象的属性和功能2)学会对象的使用3)学会构造函数的使用和初始化二、实验任务任务1:编写一个Java应用程序,该程序中有3个类:Trangle、Lander和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。

具体要求如下:1)Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。

此外,Trangle类还具有一个boolean 型的属性,该属性用来判断三个数能否构成一个三角形。

完成上述操作后,给Trangle再增加3个方法,分别用来返回3个边sideA,sideB, sideC的值。

2)Lander类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能。

3)Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。

程序运行效果三、代码实现1)Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle 类具有返回周长、面积以及修改三个边的功能。

此外,Trangle类还具有一个boolean型的属性,该属性用来判断三个数能否构成一个三角形。

完成上述操作后,给Trangle再增加3个方法,分别用来返回3个边sideA,sideB, sideC的值。

(1)Trangle类,声明成员变量和构造方法。

(2)getPerimeter()方法:当满足任意两边和大于第三边的条件时,打印三边长并计算三角形周长,否则输出:不是一个三角形,不能计算周长。

(3)getArea()方法:当满足任意两边和大于第三边的条件时,计算三角形面积,否则输出:不是一个三角形,不能计算面积。

java面向对象实验三 类与对象编程—类与对象基础

java面向对象实验三 类与对象编程—类与对象基础
}
}
⒉实验测试结果:
实验结果及分析
实验结果:
(1)成功输出平均成绩和总成绩。
(2)创建四个学生对象,并成功输出学生信息。
教师评阅
System.out.println(name+"的平均成绩"+(java+c+db)/3.0);
}
voidsum(){
System.out.println(name+"的总成绩为"+(java+c+db));
}
}
publicclassTest{
publicstaticvoidmain(String []args){
classUndergraduate {
Stringname;
intcourse;
Stringeducation="本科";
Undergraduate(String _name,int_course) {
name= _name;
course= _course;
}
String getGrade() {
return("良好");
if(course>= 70)
return("一般");
if(course>= 60)
return("及格");
return("不及格");
实验过程及步骤
}
}
publicclassTest {
publicstaticvoidmain(String[] args) {
Underg("张三", 68);

Java实验三实验报告1

Java实验三实验报告1

Java实验三实验报告1一、实验目的本次 Java 实验的主要目的是深入理解和掌握 Java 中的面向对象编程概念,通过实际的编程实践,提高对类、对象、继承、多态等特性的运用能力,同时培养良好的编程习惯和代码规范。

二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java Developers三、实验内容1、设计一个名为`Shape` 的抽象类,其中包含一个抽象方法`calculateArea()`用于计算图形的面积。

2、分别创建`Circle`(圆形)、`Rectangle`(矩形)和`Triangle`(三角形)类继承自`Shape` 类,并实现各自的`calculateArea()`方法来计算具体图形的面积。

3、创建一个测试类`TestShapes`,在其中创建不同图形的对象,并调用其计算面积的方法,输出结果。

四、实验步骤1、创建`Shape` 抽象类```javaabstract class Shape {abstract double calculateArea();}```2、创建`Circle` 类继承自`Shape` 类```javaclass Circle extends Shape {private double radius;public Circle(double radius) {thisradius = radius;}@Overridedouble calculateArea(){return MathPI radius radius;}}```3、创建`Rectangle` 类继承自`Shape` 类```javaclass Rectangle extends Shape {private double length;private double width;public Rectangle(double length, double width) {thislength = length;thiswidth = width;}@Overridedouble calculateArea(){return length width;}}```4、创建`Triangle` 类继承自`Shape` 类```javaclass Triangle extends Shape {private double base;private double height;public Triangle(double base, double height) {thisbase = base;thisheight = height;}@Overridedouble calculateArea(){return 05 base height;}}```5、创建测试类`TestShapes````javapublic class TestShapes {public static void main(String args) {Circle circle = new Circle(50);Rectangle rectangle = new Rectangle(40, 60);Triangle triangle = new Triangle(30, 80);Systemoutprintln("圆形的面积:"+ circlecalculateArea());Systemoutprintln("矩形的面积:"+ rectanglecalculateArea());Systemoutprintln("三角形的面积:"+trianglecalculateArea());}}```五、实验结果运行测试类`TestShapes` 后,输出结果如下:```圆形的面积:78539816矩形的面积:240三角形的面积:120```六、实验中遇到的问题及解决方法1、在编写抽象类和子类的代码时,一开始对于抽象方法的定义和实现理解不够清晰,导致代码出现错误。

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

java编程实验报告

java编程实验报告Java编程实验报告引言:Java是一种广泛应用于软件开发领域的高级编程语言,具有跨平台、面向对象、安全性高等特点。

本篇文章将介绍我在Java编程实验中的实践和收获。

实验一:Hello World程序在本实验中,我学习了如何使用Java编写一个简单的Hello World程序。

通过这个实验,我了解了Java的基本语法和程序结构。

在编写过程中,我发现Java的语法规范相对严格,需要注意语句的结束符号和代码的缩进。

通过运行程序,我成功输出了"Hello World"这个简单的字符串,这让我对Java编程的基本流程和语法有了更深入的了解。

实验二:变量与运算符在本实验中,我学习了Java中的变量和运算符的使用。

通过编写程序,我实现了对不同类型的变量进行声明和赋值,并进行基本的运算操作。

在这个过程中,我发现Java的变量需要先声明后使用,而且在进行运算时需要注意数据类型的匹配。

通过这个实验,我对Java中的变量和运算符有了更深入的理解。

实验三:条件语句与循环结构在本实验中,我学习了Java中的条件语句和循环结构的使用。

通过编写程序,我实现了对不同条件进行判断,并根据不同的条件执行相应的操作。

同时,我还学习了循环结构的使用,通过循环语句实现了对一段代码的重复执行。

在这个实验中,我发现条件语句和循环结构是Java编程中非常重要的部分,能够帮助程序实现更复杂的逻辑。

实验四:数组和字符串在本实验中,我学习了Java中数组和字符串的使用。

通过编写程序,我实现了对数组和字符串的声明、赋值和操作。

在这个过程中,我发现Java中的数组和字符串是一种非常方便的数据结构,能够帮助程序处理大量的数据。

通过这个实验,我对Java中数组和字符串的使用有了更深入的了解。

实验五:面向对象编程在本实验中,我学习了Java中的面向对象编程的基本概念和使用。

通过编写程序,我实现了对类的定义、对象的创建和方法的调用。

实验三 类与对象

实验三 类与对象

实验三类与对象专业班级网络1201 学号1218064023 姓名汪枭涵实验学时 2 实验类型验证性实验地点数计学院实验中心实验时间指导老师曹记东实验成绩年月日一、实验目的:理解类与对象的定义,理解封装的含义,掌握数据成员的声明与初始化方法,掌握成员方法的定义、返回值、参数传递的方法。

二、实验内容:用面向对象的思想编写一个简单的计算器,能够实现两个数字的加、减、乘、除运算。

三、实验要求:1.根据需求,用面向对象的方式定义一个计算器类(Calculator);2.由于计算器能对两个数字进行各种运算,所以定义两个成员变量表示两个运算数;3.编写4个成员方法,分别实现加(add)、减(minus)、乘(multiple)、除(divide)四类运算。

4.定义构造函数对成员变量赋初值;5.写出实验报告。

四、实验步骤与结果:(由学生按照实验内容完成)public class Calculator {public static double add(double num1, double num2){return num1 + num2;}public static double minus(double num1, double num2){return num1 - num2;}public static double multiple(double num1, double num2){return num1 * num2;}public static double divide(double num1, double num2){if(num2 != 0){return num1/num2;}return -1;//除数为0,错误}public static void main(String args[]){System.out.println("加法:15 + 5 = " + add(15, 5));System.out.println("减法:15 + 5 = " + minus(15, 5));System.out.println("乘法:15 + 5 = " + multiple(15, 5));System.out.println("除法:15 + 5 = " + divide(15, 5));}}实验结果:总结:通过本次实验,了解了java的开发环境,掌握了NetBeans的使用方法,同时对一些简单的基本JA V A语言的有了进一步的了解和掌握,对JA V A的一些基本语法也明白的很多,但是因为一开始在语法上存在一定的应用缺陷所以导致在实验的过程遇到了一些问题,最终通过和同学的讨论顺利解决了问题。

实验报告_实验3 类与对象

实验报告_实验3 类与对象

实验报告_实验3 类与对象(学生学号_姓名)一、实验目的1.熟悉类的组成,掌握类的声明方法;2.理解构造方法的作用,并掌握构造方法的定义;3.熟练使用访问器和设置器实现信息隐藏和封装;4.熟悉一般方法、构造方法的重载;5.能够正确地区分静态变量与实例变量、静态方法与实例方法的不同,掌握静态变量和静态方法的使用;6.掌握对象的创建、引用和使用及向方法传递参数的方式;7.掌握this关键字的使用以及对象数组的创建和访问;8.掌握Java包的创建、包成员的各种访问方式;9.掌握一维数组:声明,创建,初始化,数组元素的访问;10.掌握多维数组的概念:二维数组的声明,初始化,元素的访问。

二、实验内容与步骤1.请回答下列问题:(1)Cirecle类定义了几个属性?它们的类型、访问权限各为什么?答:两个PI,floatl类型,静态私有权限Radius,float;类型,私有权限(2)类中的“PI”的值可以在程序的方法中更改吗?答:不可以,因为PI为静态变量(3)Cirecle类定义了几个方法?它们的访问权限怎样?答:四个,getRadius(),setRadius(float radius),getPerimeter(),getArea()都是公有权限2.写出Rectangle类的程序代码:class Rectangle{private float width;private float length;public float getWidth( ) 法4.写出OverrideTest中所缺的三行代码:public class OverrideTest {public static void main(String[] args) {ength;j++) ength __________;j++) ength ___________;i++){ e ngth;j++){问题:(1)二维数组如何声明、创建?二维数组的列数是否一定要求相同?答:数据类型数组名[ ][ ] 或数据类型[ ][ ] 数组名;不要求相同。

Java类与对象实验报告

Java类与对象实验报告

西安邮电大学(计算机学院)课实验报告实验名称:类与对象专业名称:计算机科学与技术班级:计科1405班学生:高宏伟学号:04141152指导教师:霞林实验日期:2016.9.29一、实验目的通过编程和上机实验理解Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP 方式进行程序设计的方法。

二、实验要求1.编写一个创建对象和使用对象的方法的程序。

2.编写一个包含类成员和示例成员的程序。

3.编写一个使用Java包的程序。

三、实验容(一)三角形、梯形和圆形的类封装✧实验要求:编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。

具体要求如下:a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。

另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。

b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。

c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。

✧程序模板:AreaAndLength.javaclass Trangle{double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a,double b,double c){this.sideA=a; //【代码1】参数a,b,c分别赋值给sideA,sideB,sideCthis.sideB=b;this.sideC=c;if((sideA+sideB)>sideC&&(sideC+sideB)>sideA&&(sideC+sideA)>sideB)//【代码2】a,b,c构成三角形的条件表达式{boo=true;//【代码3】给boo赋值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Complex c1 = new Complex(); Complex c2 = new Complex(); String output = " 两 个 复 数 : \n"+c1+"\n"+c2+"\n"+" 两 个 复 数 相 加 : \n"+c1.plus(c2)+
" 两 个 复 数 相 减 : \n"+c1.minus(c2)+" 两 个 复 数 相 乘 : \n"+c1.times(c2)+
预期输出: 实际输出:
分析 与预期结果一致。
六、实验结果
用与测试用例不同的输入数据运行算法,写出得到的结果,并分析结果是否 正确。
第一组输入:
第二组输入: 第一组输出结果:
第二组输出结果: 结果分析:
两组的输出结果都正确。
七、总结
不应该一开始就考虑怎么编写代码,而是应该想好其框架。注意语法上的错误, 而逻辑上的错误在改正上有很大的难度,在这方面要多加交流。
realPart * complex.imaginaryPart + imaginaryPart * complex.realPart);
return c; } public Complex divideBy(Complex complex){
double t = complex.realPart * complex.realPart + complex.imaginaryPart * complex.imaginaryPart;
Complex c = new Complex((realPart * complex.realPart + imaginaryPart * complex.imaginaryPart)/t
,(imaginaryPart * complex.realPart - realPart * complex.imaginaryPart) / t);
imaginaryPart + complex.imaginaryPart); return c; } public Complex minus(Complex complex){ Complex c = new Complex(realPart - complex.realPart,
imaginaryPart - complex.imaginaryPart); return c; } public Complex times(Complex complex){ Complex c = new Complex(realPart * complex.realPart - imaginaryPart * complex.imaginaryPart,
this.realPart = realPart;
this.imaginaryPart = 0;
}
public Complex(double realPart,double imaginaryPart){
this.realPart = realPart;
this.imaginaryPart = imaginaryPart;
实现 Complex 类中的方法
进行编译
进行测试,使用的测试用例:
输入:
预期输出:

五、调试过程
1. 编译过程 记录算法实现中发现的语法错误及改正 以下代码不能实现预期的结果:
应该改成如下代码:
2. 调试过程 记录算法实现中发现的逻辑错误及改正,对每个测试用例,记录实际输出, 并与预期输出进行比较,如果不同,分析产生错误的原因并改正。 输入:
}
public void setimaginaryPart(double val){
imaginaryPart = val;
}
public Complex plus(Complex complex){
Complex c = new Complex(realPart + complex.realPart,
附录:
import javax.swing.*;
public class Complex {
private double realPart;
private doubllic Complex(){
realPart = Double.parseDouble(JOptionPane.showInputDialog("Please
return c; } public Complex conjugate(){
Complex c = new Complex(realPart,-imaginaryPart); return c; } public String toString(){ String str = ""; if(realPart != 0 && imaginaryPart > 0)
enter the realpart:"));
imaginaryPart
=
Double.parseDouble(JOptionPane.showInputDialog("Please
enter
the
imaginarypart:"));
}
public Complex(double realPart){
return str+imaginaryPart+"i"+"\n"; } if(realPart == 0 && imaginaryPart == 0){ System.out.println("重新输入:"); } return str+realPart+"\n"; } public static void main(String[] args){
计算机与信息学院实验报告

软件系 专业 软件工程
年级
08 级 成绩
姓名
学号
实验室
T312
机号
48
实验时间 2010 年 11 月 1 日下午 3、4 节
教师签字
实验(三) 类和对象
一、实验目的和要求
1. 掌握类的构造函数的重载 2. 深入理解类和对象 3. 学习 NetBeans 中 UML 项目的创建类并生成相应代码的方法
"两个复数相除:\n"+c1.divideBy(c2)+"c1 的共厄复数:\n"+ c1.conjugate()+"c2 的共厄复数:\n"+c2.conjugate(); JOptionPane.showMessageDialog(null,output); } }
}
public double getRealPart(){
return this.realPart;
}
public void setRealPart(double val){
realPart = val;
}
public double getimaginaryPart(){
return this.imaginaryPart;
return str+realPart+"+"+imaginaryPart+"i"+"\n"; if(realPart != 0 && imaginaryPart < 0)
return str+realPart+imaginaryPart+"i"+"\n"; if(realPart == 0 && imaginaryPart != 0){
二、实验内容和原理
设计一个复数类,能够完成复数之间的基本运算,重写方法 toString(),使 其能输出此复数(形式为: 实部 + 虚部 i)。
要求设计的复数类必须有三个构造函数,分别为无参数、1 个参数和 2 个参 数的构造函数,完成的基本运算包括两个复数的加、减、乘、除法和共轭复数。
三、实验环境
1. 硬件环境: 2. 软件环境:JDK1.5
四、算法描述及实验步骤
1. 算法描述(可以用类图、流程图、伪代码或源程序描述)
2. 实验步骤
创建一个 UML 项目,并设计类 Complex 如下图
创建一个 Java 应用项目
把 UML 项目中的 Complex 自动生成代码到 Java 应用项目中
相关文档
最新文档