Java 圆形类:属性、方法和统计示例
Java 圆形类:属性、方法和统计示例
本文将通过示例代码展示如何用 Java 创建一个 Circle 类,并使用它来生成、打印、查找、统计和排序圆形。
1. 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;
}
}
2. 主程序代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
List<Circle> 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);
}
}
代码解释:
Circle类:- 包含
color和r属性,分别表示圆形的颜色和半径。 - 提供了
getColor、setColor、getR、setR、getArea和toString方法。 getArea方法用于计算圆形的面积。toString方法用于重写默认的toString方法,返回圆形的颜色和半径信息。
- 包含
- 主程序:
- 使用
generateCircles方法生成 20 个随机的圆形。 - 使用
printCircles方法打印所有圆形的信息。 - 使用
findRedCircle方法查找是否存在红色的半径为 5 的圆形。 - 使用
countRedCircle方法统计红色圆形的数量。 - 使用
sortByArea方法按照面积大小对圆形进行排序。 - 使用
countCircleBySize方法统计大、中、小圆形的数量。
- 使用
总结:
本文介绍了如何在 Java 中创建一个 Circle 类,并使用它进行各种操作,例如生成、打印、查找、统计和排序圆形。希望本示例代码能够帮助你更好地理解 Java 类和对象的创建和使用。
原文地址: https://www.cveoy.top/t/topic/oiqd 著作权归作者所有。请勿转载和采集!