矢溢╮ 矢溢╮
关注数: 66 粉丝数: 526 发帖数: 6,260 关注贴吧数: 46
大神们 让写求100个随机形状的面积之和 我这个哪里出问题了? 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; } }
1 下一页