实验一 三角形、梯形和圆形的类封装

实验目的: 使用类来封装对象的属性和功能

实验要求:编写一个Java应用程序,该程序中有3个类:Trangle

、Lader和Circle,分别用来刻画“三角形”“梯形”和“圆形”。具体要求如下:

Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle

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

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

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

实验2 实例成员和类成员

实验目的:掌握类变量和实例变量,以及类方法和实例方法的区别。

实验要求:按程序模版的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果。

程序模版

请按照模版要求,将【代码】替换为程序代码。

Example.java
class A
{
【代码1】 //声明一个float型实例变量a
【代码2】 //声明一个float型类变量b,即static变量b
void
setA(float a)
{

【代码3】 //将参数a的值赋值给成员变量a

}
void
setB(float b)
{
【代码4】 //将参数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[])
{
【代码5】 //通过类名操作类变量b,并赋值100
【代码6】 //通过类名调用方法inputB()
A cat=new A();
A dog=new A();
【代码7】 //cat象调用方法setA(int a)将cat的成员a的值设置为200
【代码8】 //cat调用方法setB(int b)将cat的成员b的值设置为400
【代码9】
//dog象调用方法setA(int
a)将dog的成员a的值设置为150
【代码10】 //dog调用方法setB(int
b)将dog的成员b的值设置为300
【代码11】 //cat调用inputA()。
【代码12】 //cat调用inputB()。
【代码13】 //dog调用inputA()。
【代码14】 //dog调用inputB()。
}
}

实验3 使用package语句和import语句

实验目的:掌握使用package和import语句。

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

程序模版

模版1

将模版1

给出的Java源文件命名为SquareEquation.java,将编译后得到的字节码文件复制到c:/1000/tom/jiafei目录中

SquareEquation.java
package tom.jiafei;
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;
}
}
}

模版2

将模版2给出的Java源程序SunRise.java保存到D:\2000中。在编译模版2给出的源文件之前要重新设置classpath。

SunRise.java
import tom.jiafei.*;
class SunRise
{
public
static void main(String args[ ])
{
SquareEquation equation=new SquareEquation(4,5,1);
equation.getRoots();
equation.setCoefficient(-3,4,5);
equation.getRoots();
}
}