最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

Java oop:輸入身份證號,將其出生年月提取轉(zhuǎn)換成中文形式(詳析哈希值等,有視頻版)

2020-02-24 09:11 作者:詩書畫唱  | 我要投稿

// 提示用戶輸入一個(gè)身份證號,將其出生年月提取出來轉(zhuǎn)換成中文大寫形式,例如:

// 37083220000720189023

// 轉(zhuǎn)換后的內(nèi)容是

// 二零零零年七月二十日

// 如何將年月日拿出來?


版本一:

package a;


public class a {


public static void main(String[] args) {


String str="37083220000720189023";

//1.截取年月日

String date=str.substring(6,14);/*20000720189023,(6,14)表示6和14都加1,含頭不含尾在第七個(gè)和第14個(gè)之間的都保留,date為20000720。

substring() 方法用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符。

語法:

stringObject.substring(start,stop),

參數(shù)描述:start:必需。一個(gè)非負(fù)的整數(shù),規(guī)定要提取的子串的第一個(gè)字符在 stringObject 中的位置。

stop:可選。一個(gè)非負(fù)的整數(shù),比要提取的子串的最后一個(gè)字符在 stringObject 中的位置多 1。

如果省略該參數(shù),那么返回的子串會(huì)一直到字符串的結(jié)尾。

字符串截取,substring(int beginIndex) 返回一個(gè)新的字符串,它是此字符串的一個(gè)子字符串.
substring(int beginIndex, int endIndex) 返回一個(gè)新字符串,它是此字符串的一個(gè)子字符串.
beginIndex - 起始索引(包括).從0開始
endIndex - 結(jié)束索引(不包括).
"unhappy".substring(2) returns "happy"
"hamburger".substring(4, 8) returns "urge"*/


//2.聲明一個(gè)大寫的數(shù)組

char[] c={'零','一','二','三','四','五','六','七','八','九'};

//3.將年截取出來

String year=date.substring(0,4);//2000

//聲明一個(gè)StringBuilder來存儲(chǔ)內(nèi)容

StringBuilder a=new StringBuilder();

for(int i=0;i<year.length();i++){

a.append(c[Integer.parseInt(year.substring(i,i+1))]);/*year.substring(i,i+1)這是一個(gè)String的截取字符串的方法,從第i個(gè)開始到i+1個(gè)。截取之后,轉(zhuǎn)成int類型。c[]的下標(biāo)=0,1,2,3c[0]='二',c[1]='零'*,c[2]='零'*,c[3]='零'*/

}

a.append("年");/*在二零零零末尾添加新的對象"年"*/

//截取月

String month=date.substring(4,6);/*20000720中保留07*/

//如果這個(gè)月份大于9月

if(Integer.parseInt(month)>9){

if(Integer.parseInt(month)==10){

a.append("十");

}else{

//做十一月和十二月

a.append("十");

a.append(c[Integer.parseInt(month.substring(1,2))]);/*07中保留7,c[7]='七'*/

}

}

else{

for(int i=0;i<month.length();i++){

a.append(c[Integer.parseInt(month.substring(i,i+1))]);

}

}

a.append("月");

//截取日

String day=date.substring(6);

/*20000720中保留20,substring(6)相當(dāng)于substring(6,8),6,8都加1,含頭不含尾,在第6個(gè)和第8個(gè)之間的都保留,8為尾數(shù)*/

if(Integer.parseInt(day)>9&&Integer.parseInt(day)<20){

//這里做10號到19號的

if(Integer.parseInt(day)==10){

a.append("十");

}else {

a.append("十");

a.append(c[Integer.parseInt(day.substring(1,2))]);

}

}else if(Integer.parseInt(day)>19&&Integer.parseInt(day)<30){

//這里做20號到29號的

if(Integer.parseInt(day)==20){

a.append("二十");

}else {

a.append("二十");

a.append(c[Integer.parseInt(day.substring(1,2))]);

}

}else if(Integer.parseInt(day)>29&&Integer.parseInt(day)<32){

//這里做30號到31號的

if(Integer.parseInt(day)==30){

a.append("三十");

}else {

a.append("三十");

a.append(c[Integer.parseInt(day.substring(1,2))]);

}

}else{

//小于10號的時(shí)候

for(int i=0;i<day.length();i++){

a.append(c[Integer.parseInt(day.substring(i,i+1))]);

}

}

a.append("日");


System.out.println(a.toString());/*如果類中沒有定義toString方法,按照以上案例調(diào)用時(shí),會(huì)輸出對象的哈希值。

但哈希值和內(nèi)存地址有關(guān),嫌煩的話就認(rèn)為是內(nèi)存地址,最好不要這么認(rèn)為,嚴(yán)謹(jǐn)點(diǎn)就是哈希值




}


}

版本二(老師版)

package a;


public class a {


public static void main(String[] args) {

// 提示用戶輸入一個(gè)身份證號,將其出生年月提取出來轉(zhuǎn)換成大寫形式,例如:

// 37083219991112189023

// 轉(zhuǎn)換后的內(nèi)容是

// 一九九九年十一月十二日

// 如何將年月日拿出來?

String str="37083219990627189023";//一九九九

//1.截取年月日

String date=str.substring(6,14);

//2.聲明一個(gè)大寫的數(shù)組

char[] cs={'零','一','二','三','四','五','六','七','八','九'};

//3.將年截取出來

String year=date.substring(0,4);//1999

//聲明一個(gè)StringBuilder來存儲(chǔ)內(nèi)容

StringBuilder sb1=new StringBuilder();

for(int i=0;i<year.length();i++){

sb1.append(cs[Integer.parseInt(year.substring(i,i+1))]);

}

sb1.append("年");

//截取月

String month=date.substring(4,6);

//如果這個(gè)月份大于9月

if(Integer.parseInt(month)>9){

if(Integer.parseInt(month)==10){

sb1.append("十");

}else{

//做十一月和十二月

sb1.append("十");

sb1.append(cs[Integer.parseInt(month.substring(1,2))]);

}

}else{

for(int i=0;i<month.length();i++){

sb1.append(cs[Integer.parseInt(month.substring(i,i+1))]);

}

}

sb1.append("月");

//截取日

String day=date.substring(6);

if(Integer.parseInt(day)>9&&Integer.parseInt(day)<20){

//這里做10號到19號的

if(Integer.parseInt(day)==10){

sb1.append("十");

}else {

sb1.append("十");

sb1.append(cs[Integer.parseInt(day.substring(1,2))]);

}

}else if(Integer.parseInt(day)>19&&Integer.parseInt(day)<30){

//這里做20號到29號的

if(Integer.parseInt(day)==20){

sb1.append("二十");

}else {

sb1.append("二十");

sb1.append(cs[Integer.parseInt(day.substring(1,2))]);

}

}else if(Integer.parseInt(day)>29&&Integer.parseInt(day)<32){

//這里做30號到31號的

if(Integer.parseInt(day)==30){

sb1.append("三十");

}else {

sb1.append("三十");

sb1.append(cs[Integer.parseInt(day.substring(1,2))]);

}

}else{

//小于10號的時(shí)候

for(int i=0;i<day.length();i++){

sb1.append(cs[Integer.parseInt(day.substring(i,i+1))]);

}

}

sb1.append("日");

System.out.println(sb1.toString());

}


}


Java oop:輸入身份證號,將其出生年月提取轉(zhuǎn)換成中文形式(詳析哈希值等,有視頻版)的評論 (共 條)

分享到微博請遵守國家法律
枣强县| 曲阜市| 海宁市| 关岭| 沭阳县| 五华县| 甘泉县| 盐城市| 普兰店市| 乐陵市| 江西省| 南溪县| 肇州县| 尼木县| 浏阳市| 曲周县| 陵川县| 社会| 伽师县| 邹城市| 临桂县| 永安市| 易门县| 云梦县| 平邑县| 日喀则市| 肥城市| 兰坪| 明光市| 远安县| 龙州县| 满城县| 肥东县| 涟源市| 柏乡县| 三河市| 青神县| 抚宁县| 灌云县| 托克托县| 峡江县|