⑴ java输入身份证(18位),输出年龄。
刚写出来,其实就是字符串的截取。
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编译段代码,写人体每天摄人热量的计算,输入身高体重性别年龄来计算,公式百度里有,求
importjava.util.Scanner;
publicclassTt{
/**计算公式:
*男:[66+1.38x体重(kg)+5x高度(cm)-6.8x年龄]x活动量
* 女:[65.5+9.6x体重(kg)+l.9x高度(cm)-4.7x年龄]x活动量
*/
privatestaticdoubleactRadio=1.2;//活动量
publicstaticvoidmain(String[]args){
System.out.println(">>计算人体每天摄入热量<<");
System.out.println("请输入性别/体重(KG)/身高(CM)/年龄,例如:男/60/170/25");
Scannersca=newScanner(System.in);
Stringinput=sca.nextLine();
while(!"exit".equalsIgnoreCase(input)){
doubleheat=calcHeat(input);
if(heat==-1){
System.out.println(">>输入格式不正确,请重新输入!");
Scannersc=newScanner(System.in);
input=sc.nextLine();
continue;
}else{
System.out.println(">>所需热量为:"+heat+"(Kcal)");
System.out.println(">>请继续输入:");
Scannersc=newScanner(System.in);
input=sc.nextLine();
}
}
}
privatestaticdoublecalcHeat(Stringinput){
doubleheat=-1;
try{
String[]ss=input.split("/");
if(ss[0].equals("男")){
heat=(66+1.38*Integer.parseInt(ss[1])+5*Integer.parseInt(ss[2])+6.8*Integer.parseInt(ss[3]))*actRadio;
}elseif(ss[0].equals("女")){
heat=(65.5+9.6*Integer.parseInt(ss[1])+1.9*Integer.parseInt(ss[2])+4.7*Integer.parseInt(ss[3]))*actRadio;
}else{
thrownewException();
}
}catch(Exceptione){
return-1;
}
returnheat;
}
}
⑶ 用java写用户在控制台按照“yyyy/mm/dd”的格式输入出生日期,请计算用户的年龄
年龄就是把当前的年份与用户的年份相减得到一个对象值1。然后将用户输入日期中的年份换成当年的,组成一个新的日期,将这新的日期与当天的日期进行比较,得到另一个对象值2。这个对象值2就是距离用户的生日的天数。这天数是正,那对象值1就是用户的年龄,是负把对象值+1就好。参考两日期之间的天数差方法:
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编程种根据出生年月计算年龄超过当前年结果为负数怎么回事
那是肯定的啊,你计算的日期肯定是今天之前的,根据日期减去今天的日期得到年龄,你输入个今天之后的算什么
⑸ java计算成员年龄平均值,最大值,最小值
int[]arr=int[-9,4,8,-5,3,17,-29,32,2,-43];//数组Listlist=arr.ToList();//数组转换成Listlist.Max();//最大值list.Min();//最小内值list.Sum()/list.Count;//平均容值
⑹ 用java代码通过出生时间和当前时间如何计算年龄
自己写啊 很简单的
类方法中带2个参数
当前时间 减去 出生时间