import java.util.*;
import java.lang.Math;
public class Test{
public static void main(String args[]){
double sump=0;
double sumarea=0;
for(int n=0;n<100;n++){
int i=(int)Math.random()*4;
switch(i){
case 0:Shape[i]=new Circle();
case 1:Shape[i]=new Rectangle();
case 2:Shape[i]=new Square();
case 3:Shape[i]=new Lade();break;
}
sump+=Shape[i].getPerimeter();
sumarea+=Shape[i].getArea();
}
System.out.println("这100个形状的周长和为"+sump);
System.out.println("这100个形状的面积和为"+sumarea);
}
}
abstract class Shape{
public abstract double getArea();
public abstract double getPerimeter();
}
class Circle extends Shape{
double radius=Math.random()*50 + 1;
public double getArea(){
double area;
area=Math.PI*radius*radius;
return area;
}
public double getPerimeter(){
double p;
p=Math.PI*radius*2.0;
return p;
}
}
class Rectangle extends Shape{
double height=Math.random()*100 + 1;
double length=Math.random()*100 + 1;
public double getArea(){
double area;
area=height*length;
return area;
}
public double getPerimeter(){
double p;
p=(height+length)*2.0;
return p;
}
}
class Square extends Rectangle{
double length=Math.random()*100 + 1;
public double getArea(){
double area;
area=length*length;
return area;
}
public double getPerimeter(){
double p;
p=length*4.0;
return p;
}
}
class Lade extends Shape{
double above=Math.random()*100 + 1;
double bottom=Math.random()*100 + 1;
double height=Math.random()*100 + 1;
public double getArea(){
double area;
area=height*(above+bottom)/2.0;
return area;
}
public double getPerimeter(){
double p;
double v2=sqrt(Math.pow((bottom-above),2)+4.0*Math.pow(height,2));
p=v2+above+bottom;
return p;
}
}
import java.lang.Math;
public class Test{
public static void main(String args[]){
double sump=0;
double sumarea=0;
for(int n=0;n<100;n++){
int i=(int)Math.random()*4;
switch(i){
case 0:Shape[i]=new Circle();
case 1:Shape[i]=new Rectangle();
case 2:Shape[i]=new Square();
case 3:Shape[i]=new Lade();break;
}
sump+=Shape[i].getPerimeter();
sumarea+=Shape[i].getArea();
}
System.out.println("这100个形状的周长和为"+sump);
System.out.println("这100个形状的面积和为"+sumarea);
}
}
abstract class Shape{
public abstract double getArea();
public abstract double getPerimeter();
}
class Circle extends Shape{
double radius=Math.random()*50 + 1;
public double getArea(){
double area;
area=Math.PI*radius*radius;
return area;
}
public double getPerimeter(){
double p;
p=Math.PI*radius*2.0;
return p;
}
}
class Rectangle extends Shape{
double height=Math.random()*100 + 1;
double length=Math.random()*100 + 1;
public double getArea(){
double area;
area=height*length;
return area;
}
public double getPerimeter(){
double p;
p=(height+length)*2.0;
return p;
}
}
class Square extends Rectangle{
double length=Math.random()*100 + 1;
public double getArea(){
double area;
area=length*length;
return area;
}
public double getPerimeter(){
double p;
p=length*4.0;
return p;
}
}
class Lade extends Shape{
double above=Math.random()*100 + 1;
double bottom=Math.random()*100 + 1;
double height=Math.random()*100 + 1;
public double getArea(){
double area;
area=height*(above+bottom)/2.0;
return area;
}
public double getPerimeter(){
double p;
double v2=sqrt(Math.pow((bottom-above),2)+4.0*Math.pow(height,2));
p=v2+above+bottom;
return p;
}
}