生活随笔
收集整理的這篇文章主要介紹了
Java集合基础练习题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、注冊(cè)功能
(1)界面:
注冊(cè)頁(yè)面==
請(qǐng)輸入用戶名:
請(qǐng)輸入密碼:
(2)驗(yàn)證
要求:用戶名必須是6-18個(gè)字符,且全是字母;密碼必須6位,且全是數(shù)字。
如果滿足要求,使用map存儲(chǔ)起來(lái);否則提示注冊(cè)失敗和失敗原因!
package Java練習(xí)題
;
import java
.util
.HashMap
;
import java
.util
.Map
;
import java
.util
.Scanner
;public class userRegistered {public static void main(String
[] args
) {Scanner input
= new Scanner(System
.in
);System
.out
.println("==注冊(cè)頁(yè)面==");System
.out
.println("請(qǐng)輸入用戶名:");String userName
= input
.next();System
.out
.println("請(qǐng)輸入密碼:");String userPassward
= input
.next();char [] charNameArray
= userName
.toCharArray();char [] charPasswardArray
= userPassward
.toCharArray();boolean isUserNameWrong
= false;boolean isPasswardWrong
= false;for(int i
= 0; i
<charNameArray
.length
;i
++) {if((charNameArray
[i
]>=65&&charNameArray
[i
]<=90)||(charNameArray
[i
]>=97&&charNameArray
[i
]<=122)) {continue;}else{System
.out
.println("您輸入的用戶名錯(cuò)誤!");isUserNameWrong
= true;break;}}if(isUserNameWrong
== false) {for(int i
= 0; i
<charPasswardArray
.length
;i
++) {if((charPasswardArray
[i
]>=0&&charPasswardArray
[i
]<=9)) {continue;}else{System
.out
.println("您輸入的密碼錯(cuò)誤!");isPasswardWrong
= true;break;}}}if(isUserNameWrong
== false && isPasswardWrong
== false) {Map
<String, String> map
= new HashMap<String, String>();map
.put(userName
, userPassward
);map
.forEach((name
,pwd
)->{System
.out
.println("用戶名:" + name
);System
.out
.println("密碼:" + pwd
);});}}
}
2、登錄功能
(1)準(zhǔn)備
首先使用map存儲(chǔ)一些已經(jīng)注冊(cè)過(guò)的用戶信息
(2)界面
=登錄頁(yè)面==
請(qǐng)輸入用戶名:
請(qǐng)輸入密碼:
(3)驗(yàn)證
如果用戶名和密碼全都正確,提示登錄成功;
如果用戶名錯(cuò)誤,提示登錄失敗,用戶名不存在;
如果密碼錯(cuò)誤,提示登錄失敗密碼錯(cuò)誤。
package Java練習(xí)題
;
import java
.util
.HashMap
;
import java
.util
.Map
;
import java
.util
.Scanner
;public class userLogin {public static void main(String
[] args
) {Scanner input
= new Scanner(System
.in
);Map
<String, String> map
= new HashMap<String, String>();map
.put("zhangsan", "123456");map
.put("lisi", "123456");map
.put("wangwu", "123456");map
.put("zhaoliu", "123456");map
.put("maqi", "123456");System
.out
.println("請(qǐng)輸入用戶名:");String userName
= input
.next();System
.out
.println("請(qǐng)輸入密碼:");String userPassward
= input
.next();if(map
.containsKey(userName
)) {if(map
.get(userName
).equals(userPassward
)) {System
.out
.println("登陸成功!");}else {System
.out
.println("登陸失敗,您輸入的密碼錯(cuò)誤!");}}else {System
.out
.println("登陸失敗,您輸入的用戶名不存在!");} }
}
3、編寫敏感詞過(guò)濾程序
輸入一個(gè)字符串,將里面的敏感詞替換成**。
說(shuō)明:在網(wǎng)絡(luò)程序中,如聊天室、聊天軟件等,經(jīng)常需要對(duì)一些用戶所提交的聊天內(nèi)容中的敏感性詞語(yǔ)進(jìn)行過(guò)濾。如“色情”“恐怖”、“槍”、“軍火”等,這些都不可以在網(wǎng)上進(jìn)行傳播,需要過(guò)濾掉或者用其他詞語(yǔ)替換掉。
package Java練習(xí)題
;
import java
.util
.ArrayList
;
import java
.util
.List
;
import java
.util
.Map
;
import java
.util
.Scanner
;public class sensitiveWordFiltering {public static void main(String
[] args
) {Scanner input
= new Scanner(System
.in
); System
.out
.println("請(qǐng)輸入一個(gè)字符串:");String s
= input
.next();List
<String> list
= new ArrayList<String>();list
.add("色情");list
.add("恐怖");list
.add("槍");list
.add("軍火");for(String sensitiveWord
:list
) { if(sensitiveWord
.length()==1) {s
= s
.replaceAll(sensitiveWord
, "*");}else {s
= s
.replaceAll(sensitiveWord
, "**");} }System
.out
.println("您輸入的字符串為:" + s
);}
}
運(yùn)行結(jié)果:
4、計(jì)算某年、某月、某日和某年、某月、某日之間的天數(shù)間隔和周數(shù)。
package Java練習(xí)題
;
import java
.text
.SimpleDateFormat
;
import java
.util
.Scanner
;public class timeDifference {public static void main(String
[] args
) throws Exception
{Scanner input
= new Scanner(System
.in
);System
.out
.println("請(qǐng)輸入起始日期,格式為XXXX-XX-XX:");String startDate
= input
.next();System
.out
.println("請(qǐng)輸入結(jié)束日期,格式為XXXX-XX-XX:");String endDate
= input
.next();SimpleDateFormat sdFormat
= new SimpleDateFormat("yyyy-MM-dd");Long startDateFormat
= sdFormat
.parse(startDate
).getTime();Long endDateFormat
= sdFormat
.parse(endDate
).getTime();Long timeDuration
= endDateFormat
- startDateFormat
;Long days
= timeDuration
/1000/60/60/24;Long weeks
= days
/7;if(days
% 7 > 3) {weeks
+=1;}System
.out
.println("相差天數(shù):" + days
);System
.out
.println("相差周數(shù):" + weeks
);}
}
運(yùn)行結(jié)果:
5、有一個(gè)List集合,里面存儲(chǔ)了5個(gè)Student對(duì)象。Student有姓名、年齡和成績(jī)屬性。
要求對(duì)List集合進(jìn)行排序,排序規(guī)則是:
按照成績(jī)降序排列;
如果成績(jī)相同,那么姓名升序排列;
如果姓名也相同,那么年齡降序排列。
package Java練習(xí)題
1114;
import java
.util
.Arrays
;
import java
.util
.Comparator
;
import java
.util
.List
;public class studentSort {public static void main(String
[] args
) {Student
[] stu
= {new Student("張三", 20, 88),new Student("李四", 22, 74),new Student("王五", 19, 83),new Student("趙六", 16, 96),new Student("馬七", 25, 65)};System
.out
.println("開始順序?yàn)?#xff1a;");List
<Student> list
= Arrays
.asList(stu
);list
.forEach((student
) -> {System
.out
.println("姓名:" + student
.getName() + " 年齡:" + student
.getAge() + " 分?jǐn)?shù):" + student
.getScore());});list
.sort(Comparator
.comparing(Student
::getScore
).reversed().thenComparing(Comparator
.comparing(Student
::getName
)).thenComparing(Comparator
.comparing(Student
::getAge
).reversed()));System
.out
.println("按照年齡排序后:");list
.forEach((student
) -> {System
.out
.println("姓名:" + student
.getName() + " 年齡:" + student
.getAge() + " 分?jǐn)?shù):" + student
.getScore());});}
}
class Student {private String name
;private int age
;private double score
;public Student(String name
, int age
, double score
) {super();this.name
= name
;this.age
= age
;this.score
= score
;}public String
getName() {return name
;}public void setName(String name
) {this.name
= name
;}public int getAge() {return age
;}public void setAge(int age
) {this.age
= age
;}public double getScore() {return score
;}public void setScore(double score
) {this.score
= score
;}
}
運(yùn)行結(jié)果為:
總結(jié)
以上是生活随笔為你收集整理的Java集合基础练习题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。