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

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

在计算机编程中,经常会遇到需要计算或处理日期和时间的情况。特别是在某些应用程序中,我们需要根据用户输入的出生日期来确定他们的年龄。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
蜜芽
故事不长,也不难讲,四字概括,毫无意义。

相关推荐

Java实现json转xml的几种方法详解
在Java开发中,JSON和XML是两种常见的数据交换格式。将JSON转换为XML的需求常出现在接口适配、数据迁移等场景中。本文ZHANID工具网将详细介绍几种主流的JSON转XML实现方法,涵...
2025-06-12 编程技术
225

Java报错:java.lang.NullPointerException的原因及解决方法详解
在Java编程中,java.lang.NullPointerException(简称NPE)堪称"头号公敌"。据统计,超过60%的Java应用运行时异常与其相关,即使是经验丰富的开发者也难以完全避免。本文ZHAN...
2025-06-11 编程技术
263

JavaScript中document.queryselector的使用方法详解
在前端开发中,操作 DOM(文档对象模型)是日常开发的核心环节。document.querySelector 作为现代 JavaScript 中最常用的 DOM 选择方法,凭借其简洁的语法和强大的 CSS 选择器...
2025-06-10 编程技术
248

Java开发中三种主流Stopwatch实现方案及使用指南
在Java开发中,精确测量代码执行时间是性能优化和调试的关键环节。虽然可以通过System.currentTimeMillis()或System.nanoTime()手动计算时间差,但使用专业的Stopwatch工具类...
2025-06-10 编程技术
228

Java实现XLS转换为XLSX的示例代码详解
在处理Excel文件时,我们常会遇到需要将旧版.xls格式转换为新版.xlsx格式的需求。.xlsx格式基于Open XML标准,支持更多行数(104万行 vs 6.5万行)、更丰富的功能,且文件体积...
2025-06-09 编程技术
237

JavaScript使用Fetch网络请求的方法详解
在前端开发中,网络请求是连接客户端与服务端的核心桥梁。随着现代浏览器的发展,Fetch API 已成为替代传统 XMLHttpRequest 的主流方案。本文ZHANID工具网将系统讲解 Fetch 的...
2025-06-07 编程技术
246