Circle类代码:

public class Circle { private String color; private int r;

public Circle(String color, int r) {
    this.color = color;
    this.r = r;
}

public String getColor() {
    return color;
}

public void setColor(String color) {
    this.color = color;
}

public int getR() {
    return r;
}

public void setR(int r) {
    this.r = r;
}

public double getArea() {
    return Math.PI * r * r;
}

@Override
public String toString() {
    return color + "-" + r;
}

}

主程序代码:

import java.util.*;

public class Main { public static void main(String[] args) { List circleList = generateCircles(); printCircles(circleList); findRedCircle(circleList); countRedCircle(circleList); sortByArea(circleList); countCircleBySize(circleList); }

// 生成20个圆
public static List<Circle> generateCircles() {
    List<Circle> circleList = new ArrayList<>();
    String[] colors = {"红色", "绿色", "蓝色"};
    Random random = new Random();
    for (int i = 0; i < 20; i++) {
        int r = random.nextInt(10) + 1;
        String color = colors[random.nextInt(3)];
        circleList.add(new Circle(color, r));
    }
    return circleList;
}

// 打印20个圆的信息
public static void printCircles(List<Circle> circleList) {
    for (Circle circle : circleList) {
        System.out.println(circle);
    }
}

// 查找是否存在红色的,并且半径是5的圆形
public static void findRedCircle(List<Circle> circleList) {
    boolean exist = false;
    for (Circle circle : circleList) {
        if (circle.getColor().equals("红色") && circle.getR() == 5) {
            exist = true;
            break;
        }
    }
    if (exist) {
        System.out.println("存在红色的,并且半径是5的圆形");
    } else {
        System.out.println("不存在红色的,并且半径是5的圆形");
    }
}

// 统计有几个红色圆
public static void countRedCircle(List<Circle> circleList) {
    int count = 0;
    for (Circle circle : circleList) {
        if (circle.getColor().equals("红色")) {
            count++;
        }
    }
    System.out.println("红色圆的个数为:" + count);
}

// 将所有的圆按照面积大小,从大到小排序
public static void sortByArea(List<Circle> circleList) {
    Collections.sort(circleList, new Comparator<Circle>() {
        @Override
        public int compare(Circle o1, Circle o2) {
            return Double.compare(o2.getArea(), o1.getArea());
        }
    });
    System.out.println("排序后的圆:");
    for (Circle circle : circleList) {
        System.out.println(circle);
    }
}

// 统计大、中、小圆的个数
public static void countCircleBySize(List<Circle> circleList) {
    Map<String, Integer> countMap = new HashMap<>();
    int bigCount = 0;
    int middleCount = 0;
    int smallCount = 0;
    for (Circle circle : circleList) {
        if (circle.getArea() > 500) {
            bigCount++;
        } else if (circle.getArea() > 200) {
            middleCount++;
        } else {
            smallCount++;
        }
    }
    countMap.put("大圆", bigCount);
    countMap.put("中圆", middleCount);
    countMap.put("小圆", smallCount);
    System.out.println("大、中、小圆的个数为:" + countMap);
}
java:作业二创建一个Circle类 包含以下两个属性 颜色 String color 半径 intr1 定义方法 生成20个圆存放在ListCircle中 半径范围是1-10颜色是 红绿蓝 随机2 定义方法 打印20个圆的信息格式为 颜色-半径注意重写圆类的toString方法3 定义方法 查找是否存在红色的并且半径是5的圆形 遍历+标志位4 定义方法 统计有几个红色圆 遍历+计数5 定义方

原文地址: https://www.cveoy.top/t/topic/fxJr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录