小编这次要给大家分享的是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); } } }
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。