求一组图形中的最大面积

package oo.day06;
//求一组图形中的最大面积
public class ShapeTest {
public static void main(String[] args) {
//Shape s = new Shape(); //编译错误,抽象类不能被实例化
Shape[] shapes = new Shape[4]; //创建Shape数组对象
shapes[0] = new Circle(1); //向上造型
shapes[1] = new Circle(2);
shapes[2] = new Square(1);
shapes[3] = new Square(2);
maxArea(shapes);
}
public static void maxArea(Shape[] shapes){ //求最大面积
double max = shapes[0].area(); //最大面积
int maxIndex = 0; //最大面积索引
for(int i=1;i<shapes.length;i++){
double area = shapes[i].area();
if(area>max){
max = area;
maxIndex = i;
}
}
System.out.println("最大面积为:"+max+",所在索引为:"+maxIndex);
}

}

abstract class Shape{ //抽象类
protected double c; //周长
public abstract double area(); //抽象方法
}
class Circle extends Shape{
public Circle(double c){
this.c = c;
}
public double area(){ //重写抽象方法
return 0.0796*c*c;
}
}
class Square extends Shape{
public Square(double c){
this.c = c;
}
public double area(){ //重写抽象方法
return 0.0625*c*c;
}
}

时间: 2024-10-25 12:16:15

求一组图形中的最大面积的相关文章

Jsの数组练习-求一组数中的最大值和最小值,以及所在位置

要求:求一组数中的最大值和最小值,以及所在位置 代码实现: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv=&

JS基础:求一组数中的最大最小值,以及所在位置

1 var arr = [0, 5, -3, 6, 2, -6, 10]; 2 //定义一个最大值和一个最小值,把他们的索引值赋值给固定的两个变量 3 var maxValue = arr[0]; 4 var minValue = arr[0]; 5 var maxIndex = 0; 6 var minIndex = 0; 7 for (var i = 1; i < arr.length; i++) { 8 if(arr[i] > maxValue){ 9 //把这个元素赋值给最大值,把他对

用三个函数分别实现求三角形,正方形,圆形面积(所有底高半径都由用户 输入);在主函数中,通过用户不同的选择分别进行调用;

/*2.用三个函数分别实现求三角形,正方形,圆形面积(所有底高半径都由用户输入):在主函数中,通过用户不同的选择分别进行调用:*/ #include <stdio.h>#define P 3.14double sanjiao(double di,double gao){ double mianji = (di * gao)/2 ; return mianji;} double zhengfangxing(double bian){ double mianji2 = bian*bian; ret

求一组数字序列的分布情况(java)

最近需要做一个正态分布的函数图像所以要处理一段double序列 写了这个算法  先上效果图: 核心思想: 1先根据步长计算每一个区间 2循环进行判断序列中每个数属于哪个区间 3用一个数组来保存每一个区间中 数的个数 这样就可以得到整个分布函数了 当然效率值得考虑 我的机器1百万以上的数据就会有问题了 这是一个double类型的例子 int型就更容易啦 上代码! 1 package com.huang.distribution; 2 3 import java.math.BigDecimal; 4

求数组的最小数、最大值,求一组数的平均数,sort函数详解,类数组转数组

求数组的最小值和最大值 1 //求数组当中最大值和最小值 2 var arr=[3,2,6,1,45,23,456,23,2,6,3,45,37,89,30]; 3 //第一种方法 根据排序方法来求最大值和最小值 从小到大排序 第0位就是最小值 最后一位就是最大值 4 arr.sort(function(a,b){ 5 return a-b; //按从小大的情况排序 6 //return b-a; 按从大到小的情况排序 7 }) 8 console.log(arr); 9 var min=arr

【桶排序】求无序数组中最大的“Gap&quot;

题目:leetcode Given an unsorted array, find the maximum difference between the successive elements in its sorted form. Try to solve it in linear time/space. Return 0 if the array contains less than 2 elements. You may assume all elements in the array a

求一个数组中只出现一次的数字

/* 求一个数组中只出现一次的数字(注:只针对数组中有两个数不同,且其他数字两两相同) 题目:一个整型数组里除了两个数字出现一次外,其他的数字都出现了两次:求出现一次的数字: 如:数组a[]={2,4,3,6,3,2,5,5};执行程序后应输出4和6:因为4,6只在该数组中出现了一次 思路:两个数字相同其异或结果一定为0,先异或->再分组-->再对每个子序列异或 算法: 1. 先对数组的每一个元素进行异或操作,求结果(本质就是对那两个不同的数的异或,即4^6=0010) 2.根据异或的操作结果

zabbix主动和被动模式、添加监控主机和自动以模板、处理图形中的乱码、自动发现

主动模式和被动模式 主动或被动都是相对于客户端来讲的 被动模式,服务端会主动连接客户端获取监控项目数据,客户端被动的接受连接,并把监控信息传递给服务端. 服务端要到所有的客户端上取数据再返回放到数据库. 主动模式,客户端会主动把监控数据汇报给服务端,服务端只负责接受即可. 定义完监控项目之后,客户端就会根据设定的策略去采集相关项目的数据(cpu使用率.网卡流量.负载等),到点就把数据上传给服务端,服务端再把数据传到数据库. 当客户端数量非常多时,建议使用主动模式,这样可以降低服务端的压力. 服务

CAD中怎么标注面积,面积是怎样算出来的

在日常的CAD绘图设计工作中,我们常常需要给绘制的CAD图形进行面积标注.当然在标注面积之前我们需要先测量出图形的面积.而且要了解,测量出的图形面积不会自动生成注记,不同于直线标注,面积计算出来后,还需要通过文字编辑进行手动标注.今天小编给大家介绍两种常用的面积测量方法(前提是计算面积的区域必须是闭合区域).具体演示步骤如下: 步骤一:绘制一个闭合区域图形 首先我们运行迅捷CAD编辑器专业版,任意绘制出一个闭合区域图形(这里我们以一个五边形为例). 步骤二:两种常用的面积测量方法 1.面积测量快