实验目的:
封装一类三角形对象Triangle,该类对象具有三条边的属性,
具有初始化三角形的功能、修改边长的功能、判断三条边
能否构成三角形的功能、求周长的功能、求面积的功能
实验代码:
/*1.封装一类三角形对象Triangle,该类对象具有三条边的属性,
具有初始化三角形的功能、修改边长的功能、判断三条边
能否构成三角形的功能、求周长的功能、求面积的功能*/
public class shiYan1 {
public static void main(String[] args) {
Triangle triangle = new Triangle();
triangle.set_bian1(3);
triangle.set_bian2(4);
triangle.set_bian3(5);
double bian1 = triangle.get_bian1();
double bian2 = triangle.get_bian2();
double bian3 = triangle.get_bian3();
System.out.print("三角形的三边为:");
System.out.print(bian1 + ", ");
System.out.print(bian2 + ", ");
System.out.print(bian3);
System.out.println();
double bianChan = triangle.zhouChang();
double area = triangle.aera();
System.out.println("三角形的周长为:" + bianChan);
System.out.println("三角形的面积为:" + area);
}
}
class Triangle // 初始化三角形的功能
{
public double bian1;
public double bian2;
public double bian3;
public Triangle() {
bian1 = 0;
bian2 = 0;
bian3 = 0;
}
public void set_bian1(double bian1) {
this.bian1 = bian1;
}
public void set_bian2(double bian2) {
this.bian2 = bian2;
}
public void set_bian3(double bian3) {
this.bian3 = bian3;
} // 修改边长的功能
public double get_bian1() {
return bian1;
}
public double get_bian2() {
return bian2;
}
public double get_bian3() {
return bian3;
} // getter函数
public boolean panDuan(double bian1, double bian2, double bian3) {
if ((bian1 + bian2 > bian3 || bian2 + bian3 > bian1 || bian1 + bian3 > bian2)
&& (bian1 - bian2 < bian3 || bian2 - bian3 < bian1 || bian1
- bian3 < bian2)) {
return true;
} else
return false;
} // 判断三边能否构成三角形
public double zhouChang() {
double bianChang;
bianChang = bian1 + bian2 + bian3;
return bianChang;
} // 求周长的功能
public double aera() {
double p, a, area;
p = (bian1 + bian2 + bian3) / 2;
a = p * (p - bian1) * (p - bian2) * (p - bian3);
area = Math.sqrt(a);
return area;
} // 求面积的功能
}
实验结果:
三角形的三边为:3.0, 4.0, 5.0
三角形的周长为:12.0
三角形的面积为:6.0
实验心得:
这就是Java中的类啊,难怪说计算机语言是相通的那,和C++真的是有太多太多的渊源,很多的地方都是相似的。只是Java和C++中对类的定义不同,其他不论是在数据成员和成员函数的声明还是定义上都异曲同工,简直就像是孪生兄弟一般相似的让人难以区分,只是,怎么感觉Java中对类中成员函数的声明和定义都是在一起的,这和C++中类内声明类外定义的方式好像有些区别,还是我现在还在初级阶段,其实Java也是可以像C++那样声明定义的那?
至于题目本身上,是很简单的类啦,就像陈老师教授的一样,写类三部曲,一.构造函数 二.getter和setter函数 三.功能函数一一实现就能很是顺理成章的完成题目,功能函数方面也没有太变态的,都是基础中的基础,像是判断三角形能否成立什么的,很容易实现的。