java實現(xiàn)簡單年齡計算器
本文實例為大家分享了java實現(xiàn)簡單年齡計算器的具體代碼,供大家參考,具體內(nèi)容如下
制作一個如下圖年齡計算器
根據(jù)題目,我做了一個由Calendar類以及年月日各相減得到的年齡,當然正確的方法不止一個,以下為我的源代碼和結(jié)果截圖:
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("日期格式錯誤"); } } // 年齡計算函數(shù) 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); } } }
結(jié)果截圖:
更多計算器功能實現(xiàn),請點擊專題: 計算器功能匯總 進行學(xué)習
關(guān)于Android計算器功能的實現(xiàn),查看專題:Android計算器 進行學(xué)習。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java編程小實例—數(shù)字時鐘的實現(xiàn)代碼示例
正所謂拳不離手曲不離口,java學(xué)習的過程中,練習還是要多一點比較好。接下來分享給大家一個Java編程的小實例,供朋友們參考。2017-10-10SpringBoot中使用Guava實現(xiàn)單機令牌桶限流的示例
本文主要介紹了SpringBoot中使用Guava實現(xiàn)單機令牌桶限流的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2023-06-06java基于包結(jié)構(gòu)的請求路由實現(xiàn)實例分享
基于包結(jié)構(gòu)的請求路由簡單實現(xiàn)實例分享,大家參考使用吧2013-12-12SpringBoot + Spring Cloud Consul 服務(wù)注冊和發(fā)現(xiàn)詳細解析
這篇文章主要介紹了SpringBoot + Spring Cloud Consul 服務(wù)注冊和發(fā)現(xiàn),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07java使用PDFRenderer實現(xiàn)預(yù)覽PDF功能
這篇文章主要為大家詳細介紹了java使用PDFRenderer實現(xiàn)預(yù)覽PDF功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12