本文主要是介绍封装梯形类的对象,其中关于体梯形周长以及梯形判断有局限,真心求解!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/* (程序头部注释开始) </p><p>* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* 作 者: 李兆庆
* 完成日期: 2012 年 9 月 25 日
* 输入描述:
* 需求分析:封装一类梯形对象Ladder(等腰梯形),该类对象具有上底、下底和高的属性,具有初始化梯形的功能、
修改上底、下底和高的功能、求周长的功能、求面积的功能。
* 程序头部的注释结束
*/import javax.swing.JOptionPane;
class Ladder
{private double u; //定义变量,分别用于存储梯形的上底,下底,高。private double d; private double h; Ladder() //Ladder类的构造函数,分别对梯形的上底,下底,高进行初始化,且赋值为0;{u = 0.0;d = 0.0;h = 0.0;}public double getU() {return u;}public void setU(double u) {this.u = u;}public double getD() {return d;}public void setD(double d) {this.d = d;}public double getH() {return h;}public void setH(double h) {this.h = h;}public boolean judge(Ladder l) //定义“judge”行为,用于完成判断是否为梯形的功能。麻烦大家提示一下,如何判断有且只有一组对边平行啊?真心的求解!{if (l.u > 0 && l.d > 0 && l.h > 0){return true;}return false;}public double getArea(Ladder la) //求解梯形面积功能。{double a;a = (la.u + la.d) * la.h / 2;return a;}public double getGirth(Ladder la) //这个功能有局限性,仅仅能求的的是等腰梯形的周长,如果是非等腰梯形我还没找到如何求解的方式。希望大家能提示一下啊。谢谢啦。{double n = (la.d - la.u) / 2;double l = 2 * Math.sqrt( n * n + la.h * la.h); double len;len = la.u + la.d + l;return len;}}public class Num { /** * @param args */ public static void main(String[] args){ Ladder l = new Ladder() ; //通过关键字new建立一个Ladder的对象“l”;String str =JOptionPane.showInputDialog("请输入梯形的上底");double a = Integer.parseInt(str);String str1=JOptionPane.showInputDialog("请输入梯形的下底");double b = Integer.parseInt(str1);String str2 =JOptionPane.showInputDialog("请输入梯形的高");double c = Integer.parseInt(str2);l.setU(a); //通过setU()方法对属性u赋值。l.setD(b); //通过setD()方法对属性d赋值。l.setH(c); //通过setH()方法对属性h赋值。double x,y,z;x=l.getU(); //通过getU()方法得到属性u赋值。y=l.getD(); //通过getD()方法得到属性d赋值。z = l.getH(); //通过getH()方法得到属性h赋值。System.out.println("您输入梯形的上底,下底,高分别为:"+x+" "+y+" "+z); System.out.println(l.judge(l)); System.out.println("面积:"+l.getArea(l));System.out.println("周长:"+l.getGirth(l));}}
这篇关于封装梯形类的对象,其中关于体梯形周长以及梯形判断有局限,真心求解!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!