Java中编程统计身高(单位为厘米)。统计分 150——154;155——159;160——164;165——169; 170——174;175——179 及低于 150、高于 179 共八档次进行。
时间: 2024-09-19 07:16:22 浏览: 14
在Java中,你可以创建一个简单的计数器类来统计身高范围。这里是一个基本的示例:
```java
import java.util.HashMap;
import java.util.Map;
public class HeightStatistics {
private static Map<Integer, Integer> heightCounts = new HashMap<>();
public static void main(String[] args) {
// 初始化计数器
resetCounters();
// 假设有一些学生的身高数据
int[] heights = {158, 162, 170, 155, 176, 167, 150, 180};
for (int height : heights) {
incrementCounter(height);
}
// 打印结果
printHeightTiers();
}
// 函数用于重置所有计数器到0
public static void resetCounters() {
heightCounts.clear();
heightCounts.put(150, 0);
heightCounts.put(154, 0);
// ... 继续添加其他层级直到179
heightCounts.put(180, 0);
}
// 函数用于增加对应高度层的计数
public static void incrementCounter(int height) {
if (height >= 150 && height <= 154) {
heightCounts.put(150, heightCounts.getOrDefault(150, 0) + 1);
} else if (height >= 155 && height <= 159) {
heightCounts.put(155, heightCounts.getOrDefault(155, 0) + 1);
// ... 同样为每个层级添加相应的逻辑
}
// 最后的两个层次处理异常值
else if (height < 150) {
heightCounts.put(150, heightCounts.getOrDefault(150, 0) + 1);
} else if (height > 179) {
heightCounts.put(180, heightCounts.getOrDefault(180, 0) + 1);
}
}
// 打印结果函数
public static void printHeightTiers() {
for (Map.Entry<Integer, Integer> entry : heightCounts.entrySet()) {
System.out.printf("身高区间 %d-%d: %d 人%n", entry.getKey(), entry.getKey() + 4, entry.getValue());
}
}
}
```
在这个程序中,我们首先初始化一个`HashMap`来存储每个身高段的计数。然后遍历给定的高度数组,根据每个身高值更新对应的计数。最后,打印出每个身高段及其人数。