帮我写一段统计男女性别比例的代码 Java 查询数据库数据
时间: 2023-08-28 07:15:00 浏览: 135
以下是一个使用Java查询数据库数据并统计男女性别比例的代码示例,假设使用的是MySQL数据库:
```java
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class GenderRatioStatistics {
public static void main(String[] args) {
// 定义性别比例变量
int maleCount = 0;
int femaleCount = 0;
// 连接数据库
String url = "jdbc:mysql://localhost:3306/test?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
String user = "root";
String password = "123456";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
// 查询用户列表,其中sex字段为1表示男性,为2表示女性
String sql = "SELECT * FROM user";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
List<User> userList = new ArrayList<>();
while (rs.next()) {
String name = rs.getString("name");
int sex = rs.getInt("sex");
userList.add(new User(name, sex));
}
// 遍历用户列表,统计男女性别比例
for (User user : userList) {
if (user.getSex() == 1) {
maleCount++;
} else if (user.getSex() == 2) {
femaleCount++;
}
}
// 输出结果
System.out.println("男性用户数量:" + maleCount);
System.out.println("女性用户数量:" + femaleCount);
System.out.println("男女性别比例:" + (double) maleCount / femaleCount);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
class User {
private String name;
private int sex;
public User(String name, int sex) {
this.name = name;
this.sex = sex;
}
public String getName() {
return name;
}
public int getSex() {
return sex;
}
}
```
以上代码中,我们通过JDBC连接MySQL数据库,查询用户列表,并遍历列表统计男女性别数量。需要注意的是,实际应用中需要根据具体的数据库类型和表结构来编写查询语句。同时,为了保证代码的可读性和可维护性,我们可以将数据库连接和查询逻辑封装成一个方法,方便重复使用。
阅读全文