1,統計段落中出現某一個詞的次數
2,一個隨機字符串,判斷有多少字母有多少數字
3,根據特定日期格式拆分日期
4,敏感詞過濾程序
5,計算某年、某月、某日和某年、某月、某日之間的天數間隔和週數
6,設定一個有大小寫字母的字符串,先將字符串的大寫字符輸出,再將字符串中的小寫字符輸出
7,計算並輸出21世紀的閏年,計算程序的執行時間
8,當以yyyy-MM-dd格式輸入一個日期時,輸出其該年是否爲閏年,該月有幾天,該日是星期幾
9,生成UUID方法
10,List集合高效率去重
11,List集合轉換成數組包括(Integer,String類型)
12,mysql 如何獲取當前時間 前、後一小時的時間?
13,Java實現獲取前N小時的時間
14,對實體類集合進行排序
15,實體類中Date時間類型返回接口變成字符串時間類型的,而不是時間戳
1,統計段落中出現某一個詞的次數
public static void wordCount(){
Scanner scanner = new Scanner(System.in);
int count = 0,index = 0;
System.out.println("請輸入句子:");
String s = scanner.nextLine();
System.out.println("請輸入要查詢的詞:");
String card = scanner.next();
while ((index = s.indexOf(card,index)) != -1){
index = index + card.length();
count++;
}
System.out.println(card + "在句子中出現了"+ count + "次");
}
2,一個隨機字符串,判斷有多少字母有多少數字
public static void letterAndnum(){
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入隨機字符串:");
String s = scanner.nextLine();
int length = s.length();
int num = 0,let = 0;
for (int i = 0; i < length; i++){
if (Character.isDigit(s.charAt(i))){
num++;
}
if (Character.isLetter(s.charAt(i))){
let++;
}
}
System.out.println("數字:"+num+" 字母:"+let);
}
3,根據特定日期格式拆分日期
//如:請輸入一個日期(格式如:**月**日****年)經過處理得到: ****年**月**日
public static void splitDate(){
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入日期:(格式如:**月**日****年)");
String s = scanner.nextLine();
int i = s.indexOf("日");
String substring = s.substring(i + 1);
String substring1 = s.substring(0, i + 1);
System.out.println(substring + substring1);
}
4,敏感詞過濾程序
說明: 在網絡程序中,如聊天室、聊天軟件等,經常需要對一些用戶所提交的聊天內容中的敏感性詞語進行過濾。
如 “性”、“色情”、“爆炸”、“恐怖”、“槍”、“軍火”等,這些都不可以在網上進行傳播,需要過濾掉或者用其他詞語替換掉。
public static void fitterWords(){
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入聊天內容:");
String str = scanner.nextLine();
String ch[] = {"色情","爆炸","恐怖","軍火"};
for (String s:ch) {
str = str.replaceAll(s,"*");
}
System.out.println("聊天內容:"+str);
}
5,計算某年、某月、某日和某年、某月、某日之間的天數間隔和週數
public static void leadTime() throws ParseException {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入第一個日期:");
String str = scanner.nextLine();
System.out.println("請輸入第二個日期:");
String str2 = scanner.nextLine();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date parse = dateFormat.parse(str);
Date parse1 = dateFormat.parse(str2);
long a = 0;
if (parse.after(parse1)){
a = parse.getTime() - parse1.getTime();
}else {
a = parse1.getTime() - parse.getTime();
}
long oneDay = 1000*60*60*24;
long day = a/oneDay;
long week = day/7;
System.out.println("相隔:"+day+" 天");
System.out.println("相隔:"+week+" 周");
}
6,設定一個有大小寫字母的字符串,先將字符串的大寫字符輸出,再將字符串中的小寫字符輸出
public static void letterUpperLower(){
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入字符串:");
String str = scanner.nextLine();
char[] chars = str.toCharArray();
System.out.println("大寫字母爲:");
for (char a:chars) {
if (Character.isUpperCase(a)){
System.out.println(a);
}
}
System.out.println("小寫字母爲:");
for (char a:chars) {
if (Character.isLowerCase(a)){
System.out.println(a);
}
}
}
7,計算並輸出21世紀的閏年,程序的執行時間
public static void leapYeay21(){
long start = System.currentTimeMillis();
GregorianCalendar calendar = new GregorianCalendar();
for (int i = 2000;i<2100;i++){
if (calendar.isLeapYear(i)){
System.out.println(i + "是閏年");
}
}
long end = System.currentTimeMillis();
System.out.println("程序的執行時間爲:"+(end - start)+"毫秒");
}
8,當以yyyy-MM-dd格式輸入一個日期時,輸出其該年是否爲閏年,該月有幾天,該日是星期幾
public static void isLeapYeay() throws ParseException {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入日期:(格式:yyyy-MM-dd)");
String str = scanner.nextLine();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date parse = dateFormat.parse(str);
Calendar instance = Calendar.getInstance();
instance.setTime(parse);
int year = instance.get(Calendar.YEAR);
int month = instance.get(Calendar.MONTH)+1;
int week = instance.get(Calendar.DAY_OF_WEEK)-1;
GregorianCalendar calendar = new GregorianCalendar();
if (calendar.isLeapYear(year)){
System.out.println(year + "是閏年");
}else{
System.out.println(year + "是平年");
}
int max = instance.getActualMaximum(Calendar.DAY_OF_MONTH);
String s = week == 0?"週日":"周"+week;
System.out.println(month + "月有" + max + "日,該日是" + s);
}
9,生成UUID方法
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
10,List集合高效率去重
首先回顧一下LinkedHashSet:
LinkedHashSet繼承HashSet且實現了LinkedHashMap,底層使用LinkedHashMap保存所有元素,其所有操作方法又和HashSet相同。
注意點:
1、LinkedHashSet 是 Set 的一個具體實現,其維護着一個運行於所有條目的雙重鏈接列表。此鏈接列表定義了迭代順序,該迭代順序可爲插入順序或是訪問順序。
2、如果我們需要迭代的順序爲插入順序或者訪問順序,那麼 LinkedHashSet 可優先考慮。
這裏我們利用LinkedHashSet不能添加重複數據並能保證添加順序的特性 去除List中重複元素:
public List<String> removeDuplicate(List<String> list) {
LinkedHashSet<String> set = new LinkedHashSet<String>(list.size());
List<String> newList = new ArrayList<String>();
set.addAll(list);
newList.clear();
newList.addAll(set);
return newList;
}
11,List集合轉換成數組包括(Integer,String類型)
List<Integer> rpvList = new ArrayList<>();
List<String> stringList = new ArrayList<>();
int[] rpv = rpvList.stream().mapToInt(Integer::intValue).toArray();
String[] strings = stringList.toArray(new String[stringList.size()]);
12,mysql 如何獲取當前時間 前、後N的時間?
(1)獲取當前時間
select now();
(2)前N小時時間
select date_sub(now(), interval 1 hour);
(3)後N小時時間
select date_add(now(), interval 1 hour);
獲取前N小時之內的時間,並按照小時進行分組
13,Java實現獲取前N小時的時間
/**
* @Description: 計算前N小時之內的時間
* @Param: [ihour]
* @return: java.util.List< java.lang.Integer>
* @Author: XQD
* @Date:2020/4/12 20:27
*/
public List<Integer> getBeforeByHourTime(int ihour){
List<Integer> list=new ArrayList<>();
try{
for (int i=1;i<=ihour;i++){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - i+1);
SimpleDateFormat df = new SimpleDateFormat("HH");
String hour = df.format(calendar.getTime());
list.add(Integer.parseInt(hour));
}
}catch (Exception e){
e.printStackTrace();
}
return list;
}
14,對實體類集合進行排序
List<VisitCountVO> visitCountVOS = new ArrayList<>();
Collections.sort(visitCountVOS, new Comparator<VisitCountVO>() {
public int compare(VisitCountVO o1, VisitCountVO o2) {
return o1.getHour().compareTo(o2.getHour());
}
});
15,實體類中Date時間類型返回接口變成字符串時間類型的,而不是時間戳
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss",
timezone = "GMT+8"
)
private Date visitTime;
持續更新…