使用Java编写一个简单的年龄计算器(附示例代码)

纳兰那些事儿 2024-06-14 14:55:13编程技术
71

在计算机编程中,经常会遇到需要计算或处理日期和时间的情况。特别是在某些应用程序中,我们需要根据用户输入的出生日期来确定他们的年龄。Java作为一种广泛使用的编程语言,提供了丰富的日期和时间处理功能,使我们能够轻松地实现这样的功能。本文将向您展示如何使用Java编写一个简单的年龄计算器,包括必要的代码示例。有需要的朋友可以参考下。

制作一个如下图年龄计算器

使用Java编写一个简单的年龄计算器(附示例代码)

根据题目,我做了一个由Calendar类以及年月日各相减得到的年龄,当然正确的方法不止一个,以下为我的源代码和结果截图:

package com.Date;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import java.util.StringTokenizer;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class AgeCounts extends JFrame implements ActionListener {
JTextField text1, text2;
public static String str = "";

public static void main(String[] args) {
new AgeCounts();
}

public AgeCounts() {
JFrame mywindow = new JFrame();
mywindow.setTitle("年龄计算1.0版");
mywindow.setSize(400, 70);
mywindow.setLocation(350, 300);
mywindow.setResizable(false);
mywindow.setLayout(new FlowLayout());
JLabel lab = new JLabel("生日 :");
mywindow.add(lab);
text1 = new JTextField("", 10);
text2 = new JTextField("", 10);
mywindow.add(text1);
JButton btn = new JButton("计算");
mywindow.add(btn);
btn.addActionListener(this);
mywindow.add(text2);
text2.setEditable(false);
mywindow.setVisible(true);
}

public void actionPerformed(ActionEvent e) {
boolean f = true;
str = text1.getText();
StringTokenizer st = new StringTokenizer(str, " ");
int myYear, myMonth, myDay;
try {
myYear = Integer.parseInt(st.nextToken());
myMonth = Integer.parseInt(st.nextToken());
myDay = Integer.parseInt(st.nextToken());
if (myMonth > 12 || myMonth < 1) {
f = false;
text2.setText("日期错误");
}
if (myDay > 31 || myDay < 1) {
f = false;
text2.setText("日期错误");
}
if (myYear < 0) {
f = false;
text2.setText("日期错误");
}
if (f) {
getAge(myYear, myMonth, myDay);
}

} catch (Exception e1) {
text2.setText("日期格式错误");
}

}

// 年龄计算函数
public void getAge(int year, int month, int day) {
boolean b = true;
Calendar cal = Calendar.getInstance();
int yearNow = cal.get(Calendar.YEAR);
int monthNow = cal.get(Calendar.MONTH) + 1;
int dayNow = cal.get(Calendar.DAY_OF_MONTH);
int years, months = 0, days = 0;
if (dayNow < day) {
dayNow = dayNow + 30;
monthNow = monthNow - 1;
}
if (monthNow < month) {
monthNow = monthNow + 12;
yearNow = yearNow - 1;
}
if (yearNow < year) {
b = false;
text2.setText("你还没有出生哟");
}
if (b) {
years = yearNow - year;
months = monthNow - month;
days = dayNow - day;
String result = years + "岁零" + months + "个月" + days + "天";
text2.setText(result);
}
}

}

结果截图:

推荐阅读

在线年龄计算器:https://www.zhanid.com/tool/nianling.html

总结:

通过本文的介绍,我们了解了如何使用Java编写一个简单的年龄计算器。示例代码为我们提供了一个实用的工具,可以根据用户的出生日期计算出他们的年龄。此外,我们还学习了Java中日期和时间处理的基本知识。希望本文的内容对您有所帮助,让您在编程实践中更加得心应手。

年龄计算器 java
THE END
蜜芽
故事不长,也不难讲,四字概括,毫无意义。

相关推荐

JavaScript中的二进制操作与位掩码技术深度剖析
在深入挖掘JavaScript的能力时,二进制操作和位掩码技术是两个不可忽视的主题。这些技术不仅能够优化代码性能,还能在处理低层数据操作时提供极大的灵活性。本文将深入探讨Ja...
2024-09-04 编程技术
114

TIOBE发布8月编程语言排行榜:Python逼近Java历史记录
根据TIOBE最新发布的2024年8月编程语言排行榜,Python语言以超过18%的市场份额,首次在其历史上达到这一里程碑。上一次有编程语言达到如此高的比例是在2016年11月,当时Java的...
2024-08-15 新闻资讯
136

如何使用Java DOM解析器来更新XML文档的内容
Java作为一种主流的编程语言,提供了强大的DOM(Document Object Model)解析器来操作XML文档。本文将详细介绍如何使用Java DOM解析器来更新XML文档的内容,帮助开发者更好地理...
2024-08-13 编程技术
103

JavaScript中生成不同类型与范围随机数的多种技巧汇总
生成随机数是编程中的一个常见需求,无论是在开发简单的浏览器游戏、进行数据模拟,还是在安全性要求较高的场景中,掌握如何生成不同类型与范围的随机数都是至关重要的。本文...
2024-08-06 编程技术
134

如何在Java中使用FileOutputStream避免中文乱码
在Java编程中,处理文件输入输出时,常常会遇到中文乱码的问题,尤其是在使用FileOutputStream直接写入文本内容时。这不仅影响数据的准确性,也增加了开发和维护的复杂性。本...
2024-08-02 编程技术
137

ESLint:JavaScript代码检查工具使用方法详解
JavaScript作为最广泛使用的编程语言之一,其代码规范和错误检测显得尤为重要。ESLint作为一种静态代码检查工具,已经成为JavaScript开发者不可或缺的助手。本文将深入介绍ES...
2024-08-02 编程技术
131