Java中巧算年龄的代码,java年龄性别代码怎么敲

用java写用户在控制台按照“yyyy/mm/dd”的格式输入出生日期,请计算用户的年龄

年龄就是把当前的年份与用户的年份相减得到一个对象值1。然后将用户输入日期中的年份换成当年的,组成一个新的日期,将这新的日期与当天的日期进行比较,得到另一个对象值2。这个对象值2就是距离用户的生日的天数。这天数是正,那对象值1就是用户的年龄,是负把对象值+1就好。参考两日期之间的天数差方法:

成都创新互联公司专注于企业全网整合营销推广、网站重做改版、宜兴网站定制设计、自适应品牌网站建设、H5高端网站建设商城网站定制开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为宜兴等各大城市提供网站开发制作服务。

public static int getDiffDay(String firstString, String secondString) {

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");

Date firstDate = null;

Date secondDate = null;

try {

firstDate = df.parse(firstString);

secondDate = df.parse(secondString);

} catch (Exception e) {

// 日期型字符串格式错误

}

int nDay = (int) ((secondDate.getTime() - firstDate.getTime()) / (24 * 60 * 60 * 1000));

return nDay;

}

用java实现年龄计算器,就是在界面上输入一个人出生年月日(yyyy-mm-dd),显示现在多少岁,假设一年有365天

这是一段javascript写的,无论是java或javascript原理都一样,进攻参考

!-- Begin

function run() {

with (document.agecalc) {

dd = parseInt(day.selectedIndex) + 1;

mm = parseInt(month.selectedIndex) + 1;

yy = year.value;

if (yy.length != 4 || isNaN(yy)) {

document.agecalc.timealive.value = "请输入4位数的年份.";

document.agecalc.year.select();

document.agecalc.year.focus();

return;

}

}

days = new Date();

gdate = days.getDate();

gmonth = days.getMonth();

gyear = days.getYear();

if (gyear 2000) gyear += 1900;

age = gyear - yy;

if ((mm == (gmonth + 1)) (dd = parseInt(gdate))) {

age = age;

} else {

if (mm = (gmonth)) {

age = age;

} else {

age = age - 1;

}

}

if (age == 0)

age = age;

document.agecalc.timealive.value = "你已经满了 " + age+ " 周岁 . . .\n\n";

if (mm = (gmonth + 1))

age = age - 1;

if ((mm == (gmonth + 1)) (dd parseInt(gdate)))

age = age + 1;

var m;

var n;

if (mm == 12) n = 31 - dd;

if (mm == 11) n = 61 - dd;

if (mm == 10) n = 92 - dd;

if (mm == 9) n = 122 - dd;

if (mm == 8) n = 153 - dd;

if (mm == 7) n = 184 - dd;

if (mm == 6) n = 214 - dd;

if (mm == 5) n = 245 - dd;

if (mm == 4) n = 275 - dd;

if (mm == 3) n = 306 - dd;

if (mm == 2) { n = 334 - dd; if (leapyear(yy)) n++; }

if (mm == 1) { n = 365 - dd; if (leapyear(yy)) n++; }

if (gmonth == 1) m = 31;

if (gmonth == 2) {

m = 59;

if (leapyear(gyear)) m++;

}

if (gmonth == 3) { m = 90; if (leapyear(gyear)) m++; }

if (gmonth == 4) { m = 120; if (leapyear(gyear)) m++; }

if (gmonth == 5) { m = 151; if (leapyear(gyear)) m++; }

if (gmonth == 6) { m = 181; if (leapyear(gyear)) m++; }

if (gmonth == 7) { m = 212; if (leapyear(gyear)) m++; }

if (gmonth == 8) { m = 243; if (leapyear(gyear)) m++; }

if (gmonth == 9) { m = 273; if (leapyear(gyear)) m++; }

if (gmonth == 10) { m = 304; if (leapyear(gyear)) m++; }

if (gmonth == 11) { m = 334; if (leapyear(gyear)) m++; }

if (gmonth == 12) { m = 365; if (leapyear(gyear)) m++; }

months = age * 12;

months += 12 - parseInt(mm);

months += gmonth;

totdays = (parseInt(age) * 365);

totdays += age / 4;

totdays = parseInt(totdays) + gdate + m + n;

if (gmonth == 1) p = 31 + gdate;

if (gmonth == 2) {

p = 59 + gdate;

if (leapyear(gyear)) m = m+1;

}

if (gmonth == 3) { p = 90 + gdate; if (leapyear(gyear)) p++; }

if (gmonth == 4) { p = 120 + gdate; if (leapyear(gyear)) p++; }

if (gmonth == 5) { p = 151 + gdate; if (leapyear(gyear)) p++; }

if (gmonth == 6) { p = 181 + gdate; if (leapyear(gyear)) p++; }

if (gmonth == 7) { p = 212 + gdate; if (leapyear(gyear)) p++; }

if (gmonth == 8) { p = 243 + gdate; if (leapyear(gyear)) p++; }

if (gmonth == 9) { p = 273 + gdate; if (leapyear(gyear)) p++; }

if (gmonth == 10) { p = 304 + gdate; if (leapyear(gyear)) p++; }

if (gmonth == 11) { p = 334 + gdate; if (leapyear(gyear)) p++; }

if (gmonth == 12) { p = 365 + gdate; if (leapyear(gyear)) p++; }

weeks = (age * 365) + n + p;

weeks = weeks / 7;

etcdays = parseFloat(weeks) - parseInt(weeks);

etcdays = Math.round(etcdays * 7);

weeks = parseInt(weeks);

etcdays += parseInt(age / 4);

if (etcdays 7)

weeks += parseInt(etcdays / 7);

document.agecalc.timealive.value += " 或 " + months + " 月龄\n";

document.agecalc.timealive.value += " 或 " + weeks + " 周龄\n";

document.agecalc.timealive.value += " 或 " + totdays + " 日龄\n";

var time = new Date();

ghour = time.getHours();

gmin = time.getMinutes();

gsec = time.getSeconds();

hour = ((age * 365) + n + p) * 24;

hour += (parseInt(age / 4) * 24);

document.agecalc.timealive.value += " 或 " + hour + " 小时\n";

var min = (hour * 60) + gmin;

document.agecalc.timealive.value += " 或 " + min + " 分钟\n";

sec = (min * 60) + gsec;

document.agecalc.timealive.value += " 或 " + sec + " 秒钟";

mm = mm - 1;

var r;

if (mm == 0) r = 0;

if (mm == 1) r = 31;

if (mm == 2) { r = 59; if (leapyear(gyear)) m++; }

if (mm == 3) { r = 90; if (leapyear(gyear)) r++; }

if (mm == 4) { r = 120; if (leapyear(gyear)) r++; }

if (mm == 5) { r = 151; if (leapyear(gyear)) r++; }

if (mm == 6) { r = 181; if (leapyear(gyear)) r++; }

if (mm == 7) { r = 212; if (leapyear(gyear)) r++; }

if (mm == 8) { r = 243; if (leapyear(gyear)) r++; }

if (mm == 9) { r = 273; if (leapyear(gyear)) r++; }

if (mm == 10) { r = 304; if (leapyear(gyear)) r++; }

if (mm == 11) { r = 334; if (leapyear(gyear)) r++; }

mm = mm + 1;

r = parseInt(r) + parseInt(dd);

if ((mm = (gmonth + 1)) (dd gdate)) {

bday = r - m - gdate;

}

else {

if ((leapyear(gyear)) ((mm 2) (dd 29))) {

a = 366;

} else {

a = 365;

}

bday = a + (r - m - gdate);

}

nhour = 24 - parseInt(ghour);

nmin = 60 - parseInt(gmin);

nsec = 60 - parseInt(gsec);

while (bday 366) bday -= 365;

if (((bday == 366) (leapyear(gyear)) || ((bday == 365) (!leapyear(gyear))))) {

document.agecalc.timealive.value += "\n\nSenlon祝贺您!今天是你的生日!祝你生日快乐!";

} else {

document.agecalc.timealive.value += "\n\n另外,你下一个生日距今还有:\n"

+ bday + " 天 " + nhour + " 小时 " + nmin + " 分 " + nsec + " 秒";

setTimeout("run()", 1000);

}

}

function leapyear(a) {

if (((a%4 == 0) (a%100 != 0)) || (a%400 == 0))

return true;

else

return false;

}

// End --

来自

java计算年龄

import java.util.Calendar;

import java.util.Date;

import java.awt.*;

import java.awt.event.*;

import java.text.NumberFormat;

public class H {

public static void main(String args[]) {

new Time("年龄计算器");

}

}

class Time extends Frame implements ActionListener {

Calendar calendar;

Button button;

TextField t1, t2, t3;

Label l, l1, l2, l3;

Time(String s) {

super(s);

setLayout(new FlowLayout());

button = new Button("确定");

button.addActionListener(this);

t1 = new TextField(2);

t2 = new TextField(2);

t3 = new TextField(2);

l = new Label(" 请输入您的生日 ");

l.setBackground(Color.cyan);

l1 = new Label("年");

l2 = new Label("月");

l3 = new Label("日");

add(l);

add(t1);

add(l1);

add(t2);

add(l2);

add(t3);

add(l3);

add(button);

setBounds(100, 100, 280, 100);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

setVisible(true);

validate();

}

public void actionPerformed(ActionEvent e) {

calendar = Calendar.getInstance();

calendar.setTime(new Date());

NumberFormat f = NumberFormat.getInstance();

long time = calendar.getTimeInMillis();

if (e.getSource() == button) {

try {

int n = Integer.parseInt(t1.getText());

int y = Integer.parseInt(t2.getText());

int r = Integer.parseInt(t3.getText());

calendar.set(n, y - 1, r);

double time1 = calendar.getTimeInMillis();

double c = (time - time1) / (1000 * 60 * 60 * 24);

double d = c/365;

f.setMaximumFractionDigits(2);

String s = f.format(d);

l.setText("您的年龄约为" + s + " 岁");

} catch (NumberFormatException ee) {

l.setText("请正确输入");

}

}

}

}

功底浅薄,如果有问题,还望指教。

编写java代码计算全班同学年龄

计算全班同学年龄之和。

思路:从键盘上依次输入每个同学的年龄,然后求和输出:

import java.util.Scanner;

public class TestMain {

public static void main(String[] args) {

int sum=0;

Scanner in =new Scanner(System.in);

int n = in.nextInt();

sum+=n;

System.out.println(sum);

}

}

Java 根据出生日期获得年龄

实现步骤:

1、获取当前时间

2、判断出生日期是否小于当前时间,如果大于,则引发一场

3、从当前时间中取出年、月、日;从出生日期中取出年、月、日,年份相减

4、然后做具体判断

示例代码如下:

public static int getAge(Date birthDay) throws Exception { 

//获取当前系统时间

Calendar cal = Calendar.getInstance(); 

//如果出生日期大于当前时间,则抛出异常

if (cal.before(birthDay)) { 

throw new IllegalArgumentException( 

"The birthDay is before Now.It's unbelievable!"); 

//取出系统当前时间的年、月、日部分

int yearNow = cal.get(Calendar.YEAR); 

int monthNow = cal.get(Calendar.MONTH); 

int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH); 

//将日期设置为出生日期

cal.setTime(birthDay); 

//取出出生日期的年、月、日部分  

int yearBirth = cal.get(Calendar.YEAR); 

int monthBirth = cal.get(Calendar.MONTH); 

int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH); 

//当前年份与出生年份相减,初步计算年龄

int age = yearNow - yearBirth; 

//当前月份与出生日期的月份相比,如果月份小于出生月份,则年龄上减1,表示不满多少周岁

if (monthNow = monthBirth) { 

//如果月份相等,在比较日期,如果当前日,小于出生日,也减1,表示不满多少周岁

if (monthNow == monthBirth) { 

if (dayOfMonthNow  dayOfMonthBirth) age--; 

}else{ 

age--; 

System.out.println("age:"+age); 

return age; 

}

java输入身份证如何输出年龄?

刚写出来,其实就是字符串的截取。

package com.swing;

import java.util.Calendar;

import java.util.Timer;

public class NianLing {

public static void main(String[] args) {

String s = "610400199011100000";

s = s.substring(6, s.length()-8);

System.out.println(s);

Calendar cal = Calendar.getInstance();

java.util.Date date = cal.getTime();

String s1 = date.toString();

String s2 = (String) s1.subSequence(s1.length()-4, s1.length());

System.out.println(date);

System.out.println(s2);

Integer int1 = Integer.parseInt(s);

Integer int2 = Integer.parseInt(s2);

Integer age = int2-int1;

System.out.println("age : " + age);

}

}

输出结果:age:22

1990

Fri Dec 14 23:26:52 CST 2012

2012

age : 22


分享题目:Java中巧算年龄的代码,java年龄性别代码怎么敲
本文路径:http://ybzwz.com/article/hcdphg.html