javaweb 通过用户输入出生年月日/或者姓名,来判断用户的星座/人品,给出一个结论
时间: 2023-05-23 07:06:06 浏览: 107
A:你好,根据你的问题,我可以提供以下的解答。
1. 判断用户的星座
(1)根据用户输入的出生年月日,可以通过程序计算出用户的星座,具体的计算方法如下:
- 水瓶座:1月20日 - 2月18日
- 双鱼座:2月19日 - 3月20日
- 白羊座:3月21日 - 4月19日
- 金牛座:4月20日 - 5月20日
- 双子座:5月21日 - 6月21日
- 巨蟹座:6月22日 - 7月22日
- 狮子座:7月23日 - 8月22日
- 处女座:8月23日 - 9月22日
- 天秤座:9月23日 - 10月23日
- 天蝎座:10月24日 - 11月22日
- 射手座:11月23日 - 12月21日
- 魔羯座:12月22日 - 1月19日
(2)程序计算出用户的星座后,可以将结果返回给用户。
2. 判断用户的人品
(1)根据用户输入的姓名,可以通过程序计算出该姓名的姓名学评分,然后根据评分来判断用户的人品。
(2)姓名学评分是根据姓名中每个字的笔画数、拼音的声母和韵母等因素来进行计算的,具体的计算方法有些复杂,也可以借助一些微信小程序或者网站来进行计算。
(3)程序计算出用户的姓名学评分后,可以将结果与一些参考值进行对比,然后判断用户的人品。
总之,以上是我对你的问题的回答,希望能对你有所帮助。
相关问题
javaweb 通过用户输入出生年月日/或者姓名,来判断用户的星座/人品,给出一个结论 用idea完成完整代码
请问具体的星座和人品判断标准是什么?
针对星座判断,我们可以按照西方占星术来进行判断,具体的计算公式可以参考以下代码:
```java
public class ConstellationUtil {
// 星座名
public static final String[] CONSTELLATIONS = {
"摩羯座", "水瓶座", "双鱼座", "白羊座", "金牛座", "双子座",
"巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座"
};
// 星座开始日期(1月20日为摩羯座开始)
public static final int[] CONSTELLATION_START_DAY = {20, 19, 21, 20, 21, 22, 23, 23, 23, 23, 22, 22};
// 给定生日,返回星座
public static String getConstellation(Date birthDate) {
if (birthDate == null) {
return null;
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(birthDate);
int month = calendar.get(Calendar.MONTH) + 1;// 月份从0开始
int day = calendar.get(Calendar.DAY_OF_MONTH);
int startDay = CONSTELLATION_START_DAY[month - 1];
if (day < startDay) {
startDay = CONSTELLATION_START_DAY[(month + 10) % 12];
}
return CONSTELLATIONS[(month - 1 + (day >= startDay ? 1 : 0)) % 12];
}
}
```
针对人品判断,我们可以给每个人品等级设置一个分数范围,根据用户输入的姓名或者其他信息进行一些简单的计算,得出分数,然后根据分数范围进行判断即可。具体代码如下:
```java
public class MoralUtil {
// 人品等级及其分数范围
public static final int[] MORAL_SCORES = {10, 8, 6, 4, 2, 0};
public static final String[] MORAL_LEVELS = {"极好", "很好", "好", "一般", "差", "很差"};
/**
* 根据姓名计算人品分数
*
* @param name 姓名
* @return 人品分数
*/
public static int getMoralScore(String name) {
int score = 0;
for (int i = 0; i < name.length(); i++) {
score += name.charAt(i);
}
return score % 101; // 计算出0-100的分数
}
/**
* 根据人品分数判断人品等级
*
* @param score 人品分数
* @return 人品等级
*/
public static String getMoralLevel(int score) {
for (int i = 0; i < MORAL_SCORES.length; i++) {
if (score >= MORAL_SCORES[i]) {
return MORAL_LEVELS[i];
}
}
return null;
}
}
```
综合两个模块,可以编写出完整的 JavaWeb 应用程序。具体代码实现可以参考以下示例:
```java
@WebServlet("/result")
public class ResultServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取表单参数
String name = request.getParameter("name");
String birth = request.getParameter("birth");
String[] birthArr = birth.split("-");
Date birthDate = new Date(Integer.parseInt(birthArr[0]) - 1900, Integer.parseInt(birthArr[1]) - 1, Integer.parseInt(birthArr[2]));
// 计算星座和人品
String constellation = ConstellationUtil.getConstellation(birthDate);
int moralScore = MoralUtil.getMoralScore(name);
String moralLevel = MoralUtil.getMoralLevel(moralScore);
// 返回结果给用户
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>星座&人品判断结果</title></head>");
out.println("<body>");
out.println("<p>您的星座是:" + constellation + "</p>");
out.println("<p>您的人品分数是:" + moralScore + "</p>");
out.println("<p>您的人品等级是:" + moralLevel + "</p>");
out.println("</body>");
out.println("</html>");
}
}
```
该应用程序的界面可以通过一个简单的 JSP 页面来实现,示例代码如下:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>星座&人品判断</title>
</head>
<body>
<h1>星座&人品判断</h1>
<form method="post" action="result">
<p>
<label>姓名:</label>
<input type="text" name="name" required>
</p>
<p>
<label>出生年月日:</label>
<input type="date" name="birth" required>
</p>
<p>
<button type="submit">提交</button>
</p>
</form>
</body>
</html>
```
这样的话,用户就可以通过输入姓名和出生年月日来获取自己的星座和人品等级了。
javaweb 通过用户输入出生年月日/或者姓名,来判断用户的星座,给出一个结论 用idea完成完整代码
```java
import java.util.Scanner;
public class StarSignDetector {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的生日(例如:1995-06-10):");
String birthday = scanner.nextLine();
String[] dateTokens = birthday.split("-");
int year = Integer.parseInt(dateTokens[0]);
int month = Integer.parseInt(dateTokens[1]);
int day = Integer.parseInt(dateTokens[2]);
String starSign = "";
if (month == 1 && day >= 20 || month == 2 && day <= 18) {
starSign = "水瓶座";
} else if (month == 2 && day >= 19 || month == 3 && day <= 20) {
starSign = "双鱼座";
} else if (month == 3 && day >= 21 || month == 4 && day <= 19) {
starSign = "白羊座";
} else if (month == 4 && day >= 20 || month == 5 && day <= 20) {
starSign = "金牛座";
} else if (month == 5 && day >= 21 || month == 6 && day <= 21) {
starSign = "双子座";
} else if (month == 6 && day >= 22 || month == 7 && day <= 22) {
starSign = "巨蟹座";
} else if (month == 7 && day >= 23 || month == 8 && day <= 22) {
starSign = "狮子座";
} else if (month == 8 && day >= 23 || month == 9 && day <= 22) {
starSign = "处女座";
} else if (month == 9 && day >= 23 || month == 10 && day <= 22) {
starSign = "天秤座";
} else if (month == 10 && day >= 23 || month == 11 && day <= 21) {
starSign = "天蝎座";
} else if (month == 11 && day >= 22 || month == 12 && day <= 21) {
starSign = "射手座";
} else if (month == 12 && day >= 22 || month == 1 && day <= 19) {
starSign = "摩羯座";
}
System.out.println("您的星座是:" + starSign);
}
}
```