package a;
import java.util.Random;
import a.Circle.Cube;
abstract class Shape{
abstract double CalArea();
}
class Rectangle extends Shape{
double length;
double wideth;
double CalArea() {
return length*wideth;
}
}
class Circle extends Shape{
double Radius;
double CalArea() {
return (2*3.14*this.Radius);
}
public static class Cube extends Rectangle{
double height;
double CalArea() {
return (height*length+height*wideth+length*wideth)*2;
}
double calVolume(){
return height*length*wideth;
}
}
}
public class test1 {
public static void main(String[] args){
int n=0;
Random random=new Random();
if(n<=0)
{
n=random.nextInt(10);
}
System.out.println("随机产生了"+n+"个图形");
double array[]=new double[n];
int site[]=new int[n];
for(int i=0;i<n;i++)
{
int flag=random.nextInt(3);
switch(flag)
{
case 0:
{
Rectangle R=new Rectangle();
R.length=(Math.random())*10;
R.wideth=(Math.random())*10;
array[i]=R.CalArea();
site[i]=0;
System.out.println("长方形面积为:"+String.format("%.3f",R.CalArea()));
break;
}
case 1:
{
Circle C=new Circle();
C.Radius=(Math.random())*10;
array[i]=C.CalArea();
site[i]=1;
System.out.println("圆面积为:"+String.format("%.3f",C.CalArea()));
break;
}
case 2:
{
Cube Cu=new Cube();
Cu.height=(Math.random())*10;
Cu.length=(Math.random())*10;
Cu.wideth=(Math.random())*10;
array[i]=Cu.CalArea();
site[i]=2;
System.out.println("长方体表面积为:"+String.format("%.3f",Cu.CalArea()));
break;
}
}
}
for(int i=0;i<array.length;i++)
for(int j=0;j<array.length-1;j++)
{
if(array[j]<array[j+1])
{
double temp1=array[j];
int temp2=site[j];
array[j]=array[j+1];
site[j]=site[j+1];
array[j+1]=temp1;
site[j+1]=temp2;
}
}
System.out.println("\n排序的结果为:");
for(int i=0;i<array.length;i++)
{
switch(site[i])
{
case 0:
{
System.out.println("长方形面积:"+String.format("%.3f",array[i]));
break;
}
case 1:
{
System.out.println("圆面积:"+String.format("%.3f",array[i]));
break;
}
case 2:
{
System.out.println("长方体表面积面积:"+String.format("%.3f",array[i]));
break;
}
}
}
}
}
小记一则(2)
于 2023-04-13 17:22:48 首次发布