java:作业二创建一个Circle类 包含以下两个属性 颜色 String color 半径 intr1 定义方法 生成20个圆存放在ListCircle中 半径范围是1-10颜色是 红绿蓝 随机2 定义方法 打印20个圆的信息格式为 颜色-半径注意重写圆类的toString方法3 定义方法 查找是否存在红色的并且半径是5的圆形 遍历+标志位4 定义方法 统计有几个红色圆 遍历+计数5 定义方
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
// 生成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);
}
原文地址: https://www.cveoy.top/t/topic/fxJr 著作权归作者所有。请勿转载和采集!