年龄计算器。

本文实例为大家分享了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);}}

}

结果截图:

这篇文章主要为大家详细介绍了java实现简单年龄计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下.

2个要点

1、Calendar类以及年月日各相减得到的年龄,当然正确的方法不止一个

2、引入包package com.Date;

java计算年龄_java实现简单年龄计算器相关推荐

  1. java图形界面UI设计——简单的计算器

    java图形界面UI设计--简单的计算器# 可以实现连续的输入: java图形界面UI设计--简单的计算器下载

  2. java gui 日历_Java实现简单日历小程序 Java图形界面小日历开发

    今天给大家介绍一下如何用Java swing开发一款简单的小日历,下面我们来看代码: 首先创建一个CalendarBean类,用于基本的日期计算: package other1; import jav ...

  3. java 日历界面_Java实现简单日历小程序 Java图形界面小日历开发

    今天给大家介绍一下如何用java swing开发一款简单的小日历,下面我们来看代码: 首先创建一个calendarbean类,用于基本的日期计算: package other1; import jav ...

  4. java计算利息_java银行计算利息

    我是数学系大3的学生,我的专业是概率论与数理统计. 数学系分为3个本科专业,数学与应用数学,这个专业主要进行数学应用的理论研究(大多数学校是这样的).所以它是应用数学而不是实用数学,相信我们数学系的学 ...

  5. java 计算协方差_Java的深度:通过协方差暴露的API泄漏

    java 计算协方差 Java有时可能非常棘手,特别是在API设计中. 让我们看一个非常有趣的展示柜. jOOQ强烈地将API与实现分开. 所有API都在org.jooq包中,并且是公共的. 大多数实 ...

  6. [转载] java 计算协方差_Java的深度:通过协方差暴露的API泄漏

    参考链接: 关于Java中null的有趣事实 java 计算协方差 Java有时可能非常棘手,特别是在API设计中. 让我们看一个非常有趣的展示柜. jOOQ强烈地将API与实现分开. 所有API都在 ...

  7. java 计算时差_java计算时间差的几种方法

    用JAVA计算日期,时间差的几种方法 1. 手工计算 2.采用一个三方的jar包(Joda time library) 3. 利用TimeUnit类(java.util.concurrent 包中) ...

  8. java银行取款_Java写简单的银行取钱系统

    按ctrl+a 选中所有的代码删除,再复制下面的代码输入即可 import java.util.Scanner; public class 简单的银行取钱系统 //class的名字可以自己新建和这个一 ...

  9. java计算时间差_java中计算两个时间差

    java计算时间差及比较时间大小 比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 方 ...

最新文章

  1. python3 subprocess.Popen 报错 No such file or directory
  2. 简易记事本实现与分析(二)辅助类的编写
  3. 表的字段中的值需要替换怎么办?【if 函数,case when函数,中间表思路】
  4. 前端学习(2983):一文理解数据劫持1
  5. Qt笔记-添加Win10Pcap库获取网络适配器(MinGW编译器)
  6. 微信小程序数据拼接_微信小程序使用原生WebSokcet实现断线重连及数据拼接
  7. GPL侵权诉讼被驳回,Linux之父Torvalds又要发飙了!
  8. bzoj 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘(凸包)
  9. 危险!请马上替换代码中的BeanUtils!!!
  10. 14.2.4 InnoDB Undo Logs
  11. 手机组态软件 APP监控台达PLC C#全套源代码
  12. 在ArchLinux/Manjaro上安装BCM4360系列网卡驱动
  13. 代做linux作业,Linux系统管理第七周作业【Linux微职位】(示例代码)
  14. python写入文件到docx_从python中的txt文件写入docx文件
  15. java发送邮件连接超时,Java邮件超时和连接超时处理
  16. 十一月 Z 星月度速览 | 个性化推荐技术解读、Mivus demo 服务框架切换缘解、精选好书推荐、AI 收藏夹……...
  17. Flutter 布局之企鹅电竞
  18. Quartz.NET总结(五)基于Quartz.net 的开源任务管理平台
  19. Java解析OpenDrive,OpenDrive格式解析
  20. textpad:工具中没有编译

热门文章

  1. MySQL入门:建模和设计数据库,SQL基础
  2. 简单实用的图表技巧,你会吗?
  3. 注册Google 谷歌注册的两种方法
  4. 如何通过EDI提升企业采购管理水平?
  5. 联想笔记本官网驱动下载
  6. 手摸手带你玩转Vue3——Vue2升级Vue3
  7. 字符串转数组java_Java实现数组转字符串及字符串转数组的方法分析
  8. _I,_O,_IO,条件编译#ifndf _HEAD_H中的下划线_是什么,有什么用
  9. GDB调试指南(入门,看这篇够了)
  10. 四川星利恒:拼多多想退运费要怎么做