/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:封装一类梯形对象Ladder。
* 作 者: 雷恒鑫
* 完成日期: 2012 年 09 月 26 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:.封装一类梯形对象Ladder,该类对象具有上底、下底和高的属性,具有初始化梯形的功能。
* 问题描述:修改上底、下底和高的功能、求周长的功能、求面积的功能。
* 程序输出:
* 程序头部的注释结束
*/
public class Task_one {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Ladder c1 = new Ladder();
c1.display();
Ladder c2 = new Ladder(3, 4, 5);
c2.display();
boolean b;
b = c1.judgment();
if (b == true) {
System.out.println("梯形的面积为:" + c1.area());
System.out.println("梯形的周长为:" + c1.perimeter());
c1.perimeter();
}
else
{
System.out.println("该梯形不存在!");
}
if (c2.judgment() == true) {
System.out.println("梯形的面积为:" + c2.area());
System.out.println("梯形的周长为:" + c2.perimeter());
}
else
{
System.out.println("该梯形不存在!");
}
c2.set_On_bottom(6);
c2.set_Next_bottom(10);
c2.set_high(8);
c2.display();
if (c2.judgment() == true) {
System.out.println("梯形的面积为:" + c2.area());
System.out.println("梯形的周长为:" + c2.perimeter());
}
else
{
System.out.println("该梯形不存在!");
}
}
}
class Ladder {
float On_bottom, Next_bottom, high; // 三条边
Ladder() {
this.On_bottom = 0;
this.Next_bottom = 0;
this.high = 0;
}
Ladder(float On_bottom, float Next_bottom, float high) {
this.On_bottom = On_bottom;
this.Next_bottom = Next_bottom;
this.high = high;
}
void set_On_bottom(float On_bottom) {
this.On_bottom = On_bottom;
}
void set_Next_bottom(float Next_bottom) {
this.Next_bottom =Next_bottom;
}
void set_high(float high) {
this.high =high;
}
boolean judgment() {
if (On_bottom!=Next_bottom)
return true;
return false;
}
float perimeter()// 计算梯形的周长
{
float c;
c=(float)Math.sqrt(((On_bottom-Next_bottom)/2)*((On_bottom-Next_bottom)/2)+high*high);
return (On_bottom+Next_bottom+2*c);
}
float area()// 计算并返回梯的面积
{
float m;
m = ((On_bottom+ Next_bottom)*high) / 2;
return m;
}
void display() {
System.out.println("梯形形的上底,下底,高分别为:" +On_bottom + " " + Next_bottom + " " + high);
}
}
运行结果: