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

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

在计算机编程中,经常会遇到需要计算或处理日期和时间的情况。特别是在某些应用程序中,我们需要根据用户输入的出生日期来确定他们的年龄。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实现扫雷小游戏(最新完整版)
本文给大家介绍使用Java实现扫雷小游戏,本程序封装了五个类,分别是主类GameWin类,绘制底层地图和绘制顶层地图的类MapBottom类和MapTop类,绘制底层数字的类BottomNum类,以...
2024-07-12 编程技术
96

JAVA语言实现经典扫雷游戏示例代码分享
扫雷游戏是一个经典的益智游戏,通过在布满雷区的网格中寻找安全路径,挑战玩家的记忆力和逻辑推理能力。今天,我们将探讨如何使用Java语言实现一个扫雷游戏。通过这个示例代...
2024-07-12 编程技术
99

Java之父James Gosling宣布退休:结束多年软件工程师生涯
Java语言一直以其独特的光芒闪耀着,而这颗明星的创造者——被尊称为“Java之父”的James Gosling,最近在社交媒体上宣布了他的职业生涯新篇章:正式退休。Gosling以一句“我...
2024-07-09 新闻资讯
95

JavaScript开发数独游戏的完整步骤和实现过程
数独是一种起源于日本的逻辑推理游戏,凭借其简单的规则和深刻的逻辑性在全球范围内广受欢迎。作为一名程序员,使用JavaScript开发一个数独游戏不仅可以锻炼编程技巧,还能提...
2024-07-04 编程技术
89

使用HTML+JavaScript实现贪吃蛇游戏(附示例代码)
贪吃蛇游戏是一款经典的休闲游戏,许多人童年时都在各种电子设备上玩过。通过HTML和JavaScript,我们可以创建一个简单但功能齐全的贪吃蛇游戏。本文将详细介绍如何使用HTML和...
2024-07-03 编程技术
97

Java如何将多个音频文件拼接合成一个文件
在Java中,将多个音频文件拼接成一个通常需要使用一些专门的音频处理库,因为Java标准库并不直接支持音频文件的合并,一个常用的库是JAVE2(Java Audio Video Encoder)或JLa...
2024-06-30 编程技术
68