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

}

}

}

结果截图:

更多计算器功能实现,请点击专题: 计算器功能汇总 进行学习

关于Android计算器功能的实现,查看专题:Android计算器 进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

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

  1. java计算年龄_java实现简单年龄计算器

    年龄计算器. 本文实例为大家分享了java实现简单年龄计算器的具体代码,供大家参考,具体内容如下 制作一个如下图年龄计算器 根据题目,我做了一个由Calendar类以及年月日各相减得到的年龄,当然正确 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 始终在新标签页中打开文件
  2. 再学 GDI+[83]: TGPImage(3) - 平行四边形变换
  3. Vertical Menu ver4
  4. Java 枚举类的基本使用
  5. postgresql update使用别名_PostgreSQL逻辑复制之pglogical
  6. python常见排序算法解析
  7. oracle排序后第一条,Oracle排序取第一条数据
  8. SAP License:物料账错误描述与解决办法
  9. 字符串常量强制转换为字符指针
  10. java接口的关键字_java关键字-interface
  11. 阿里、腾讯双双辟谣:云计算魅力彰显
  12. VMware虚拟机通过光盘PE安装GHOSTxp
  13. 政务中心综合信息系统建设方案
  14. 禁止百度云盘p2p后台上传
  15. 2020-12-29
  16. 2018-2019年江苏省高等学校“阿里云大数据技术实战训练营”大学生万人计划学术冬令营开营...
  17. 学习笔记—什么是微数据?itemscope/itemtype/itemprop(搜索引擎seo优化)
  18. 2022年蓝桥杯省赛真题解析(C++B组)
  19. Yii2框架bootstrap样式理解
  20. Using System.Messaging引用报错解决办法

热门文章

  1. (数据分析)网课评论分析
  2. SNARK性能及安全——Verifier篇
  3. 最小覆盖圆(smallest enclosing circle)算法 python 实现
  4. python 内置函数 eval
  5. 搭建自己的私有云盘系统(owncloud)
  6. TestNG教程三:TestNG中的监听
  7. hive的join,left join,right join,full outer join,left semi join,cross join
  8. 计算思维是运用计算机科学的什么进行,什么是计算思维?
  9. 21届本科大数据菜鸡:我是怎么在互联网寒冬拿到腾讯、华为、京东、美团、快手等大厂offer的?
  10. 机械革命电脑MyApp安装包