weixin_52895193 2021-03-14 08:00 采纳率: 66.7%
浏览 1757

java类练习题,求全解 定义一个 .Triangle类表示三角形。 >三个成员变量: doubl

java类练习题,求全解 定义一个 .Triangle类表示三角形。 >三个成员变量: double a,b,c >为该类定义一个无参数构造方法: public Triangle} >定义求三角形面积的方法area(),面积计算公式为 area=Math.sqrt(s*(s-a)(s-b*(-C)),==(a+b+c)/2 >在主方法中创建三角形对象ta,调用对象的area0方法,并输出三角 形的面积。
  • 写回答

1条回答 默认 最新

  • Dijkstra's Monk-ey 2021-03-14 08:36
    关注
    package test;
    
    class Triangle{
    	private double a;
    	private double b;
    	private double c;         
    	//使用private变量实现封装,提高安全性
    	//private 私有变量在测试类中是不能通过“类名.属性 ”直接调用的,必须通过setter和getter 
    	
    	public Triangle() {
    		
    	}
    	
    	public double getA() {    
    		return a;
    	}
    	public void setA(double a) {
    		this.a = a;
    	}
    	public double getB() {
    		return b;
    	}
    	public void setB(double b) {
    		this.b = b;
    	}
    	public double getC() {
    		return c;
    	}
    	public void setC(double c) {
    		this.c = c;
    	}
    
    	double area(){      
    		if(a>0 && b>0 && c>0 && a+b>c && a+c>b && b+c>a) {           //先判断是否能够成三角形
    			double s= (a+b+c)*(1.0/2.0);
    			double area=Math.sqrt(s*(s-a)*(s-b)*(s-c));
    			return area;
    		}
    		return -1;
    	}
    }
    
    public class TestTriangle {
    	public static void main(String[] args) {
    		/*以下是测试数据 
    		 * 假设三个边是
    		 * a=5,b=5,c=5
    		 * a=3,b=4, c=5
    		 * a=3,b=4,c=7
    		 * 其实可以在Triangle类中定义一个含a、b、c三参数的构造方法更方便,比如:
    		 * public Triangle(double a, double b, double c) {
    		         this.a=a;
    		         this.b=b;
    		         this.c=c;
    	        }
    		 *   这样在测试类创建对象时可以直接Triangle ta = new  Triangle(a, b, c);
    		 *   但题目没有这样要求,就算了
    		 */
    		Triangle ta = new  Triangle();
    		ta.setA(3);     ta.setB(4);     ta.setC(5);
    		//ta.setA(5);     ta.setB(5);     ta.setC(5);
    		//ta.setA(3);     ta.setB(4);     ta.setC(7);
    		double area=ta.area();
    		if(area>0) {
    			System.out.println("此三角形的面积为"+ta.area());
    		}else {
    			System.out.println("此三边构不成三角形!");
    		}
    		
    	}
    	
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作