⑴ 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個參數
當前時間 減去 出生時間