900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > java实验Java面向对象编程_java 实验三 面向对象程序设计(无脑实验系列)

java实验Java面向对象编程_java 实验三 面向对象程序设计(无脑实验系列)

时间:2020-01-30 11:34:13

相关推荐

java实验Java面向对象编程_java 实验三 面向对象程序设计(无脑实验系列)

实验7 运算符重载 (1)定义日期类,重载 “++”和“--”运算符,使之能处理两个日期类对象自增和自减运算,并且自增和自减又分为前缀和后缀运算。(可继续完善。。。博主太懒。。。不想写。。) #include#include#includeusing

1.三角形、梯形和圆形的类封装 ²

实验要求: 编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下: a)

Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。 b)

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

Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。 package lzy;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,sideC

if(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,sideC

if(a+b>c&&a+c>b&&c+b>a) //a,b,c构成三角形的条件表达式

{

boo=true; //给boo赋值。

}

else

{

boo=false; //给boo赋值。

}

}}class Lader{

double above,bottom,height,area;

Lader(double a,double b,double h)

{

above=a; bottom=b;height=h; //方法体,将参数a,b,c分别赋值给above,bottom,height

}

double getArea()

{

area=(above+bottom)/2*height;

return area; //方法体,,要求计算出area返回

}}class Circle{

double radius,area;

Circle(double r)

{

radius=r; //方法体

}

double getArea()

{

return 3.14*radius*radius; //方法体,要求计算出area返回

}

double getLength()

{

return 3.14*2*radius; //getArea方法体的代码,要求计算出length返回

}

void setRadius(double newRadius)

{

radius=newRadius;

}

double getRadius()

{

return radius;

}}public class AreaAndLength{

public static void main(String args[])

{

double length,area;

Circle circle=null;

Trangle trangle;

Lader lader;

circle=new Circle(10); //创建对象circle

trangle=new Trangle(3,4,5); //创建对象trangle。

lader=new Lader(3,4,10);//创建对象lader

length=circle.getLength(); // circle调用方法返回周长并赋值给length

System.out.println("圆的周长:"+length);

area=circle.getArea();// circle调用方法返回面积并赋值给area

System.out.println("圆的面积:"+area);

length=trangle.getLength(); // trangle调用方法返回周长并赋值给length

System.out.println("三角形的周长:"+length);

area=trangle.getArea(); // trangle调用方法返回面积并赋值给area

System.out.println("三角形的面积:"+area);

area=lader.getArea();面向对象程序设计

ECMA-262将对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每个属性和方法都有一个名字,而每个名字都映射到一个值。 6.1理解对象

创建对象的最简// lader调用方法返回面积并赋值给area

System.out.println("梯形的面积:"+area);

trangle.setABC(12,34,1); // trangle调用方法设置三个边,要求将三个边修改为12,34,1。

area=trangle.getArea(); // trangle调用方法返回面积并赋值给area

System.out.println("三角形的面积:"+area);

length=trangle.getLength(); // trangle调用方法返回周长并赋值给length

System.out.println("三角形的周长:"+length);

}} 2.实例成员与类成员。 ²

实验要求: 按程序模板的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果。 package lzy;class A{

float a;

//声明一个float型实例变量a

static float b;

//声明一个float型类变量b,即static变量b

void setA(float a)

{

this.a=a;

//将参数a的值赋值给成员变量a

}

void setB(float b)

{

this.b=b;

//将参数b的值赋值给成员变量b

}

float getA()

{

return a;

}

float getB()

{

return b;

}

void inputA()

{

System.out.println(a);

}

static void inputB()

{

System.out.println(b);

}}public class Example{

public static void main(String args[])

{

A.b=100;

//通过类名操作类变量b,并赋值100

A.inputB();

//通过类名调用方法inputB()

A cat=new A();

A dog=new A();

cat.setA(200);

//cat象调用方法setA(int a)将cat的成员a的值设置为200

cat.setB(400);

//cat调用方法setB(int b)将cat的成员b的值设置为400

dog.setA(150);

//dog象调用方法setA(int a)将dog的成员a的值设置为150

dog.setB(300);

//dog调用方法setB(int b)将dog的成员b的值设置为300

cat.inputA();

//cat调用inputA()。

cat.inputB(); //cat调用inputB()。

dog.inputA();

//dog调用inputA()。

dog.inputB();

//dog调用inputB()。

}} 3.使用package语句与import语句。 ²

实验要求: 按实验要求使用package语句,并用import语句使用Java平台提供的包中的类以及自定义包中的类。掌握一些重要的操作步骤。 package lzy;class SunRise{

public static void main(String args[ ])

{

SquareEquation equation=new SquareEquation(4,5,1);

equation.getRoots();

equation.setCoefficient(-3,4,5);

equation.getRoots();

}} package lzy;public class SquareEquation{

double a,b,c;

double root1,root2;

boolean boo;

public

SquareEquation(double a,double b,double c)

{

this.a=a;

this.b=b;

this.c=c;

if(a!=0)

{

boo=true;

}

else

{

boo=false;

}

}

public void getRoots()

{

if(boo)

{

System.out.println("是一元2次方程");

double disk=b*b-4*a*c;

if(disk>=0)

{

root1=(-b+Math.sqrt(disk))/(2*a);

root2=(-b-Math.sqrt(disk))/(2*a);

System.out.printf("方程的根:%f,%f\n",root1,root2);

}

else

{

System.out.printf("方程没有实根\n");

}

}

else

{

System.out.println("不是一元2次方程");

}

}

public void setCoefficient(double a,double b,double c)

{

this.a=a;

this.b=b;

this.c=c;

if(a!=0)

{

boo=true;

}

else

{

boo=false;

}

}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。