培訓(xùn)班學(xué)習(xí)Java第二天
緊接昨天,上機題。
1、輸入一個字符串,判斷這個字符串是否對稱。(例如abcba算對稱 ?abccba也算對稱)
思考:
????????? ? 頭尾遍歷比較,設(shè)置標(biāo)志flag=true,當(dāng)頭尾兩值不同時,令flag=flase。(注意關(guān)閉scanner。)
2、實現(xiàn)HashMap的value排序
思考:
將HashMap中的元素按照Entry<Key,Value>類型存入到ArrayList集合中。
實現(xiàn)自定義排序,對ArrayList集合排序。
3、設(shè)計一個線程(使用自定義線程池),使得字符串”成都是一座你來了就不想走的城市”?每隔1秒鐘輸出一個字符。??運 行結(jié)果如下:(多行輸出)
成
成都
成都是
成都是一
成都是一座
成都是一座你
……?
成都是一座你來了就不想走的城市
思考:
????????首先要求使用自定義線程池,需使用ThreadPoolExecutor(),要想以問題要求的方式輸出字符可以使用雙重遍歷,也可以直接調(diào)用字符串方法subString()。
ThreadPoolExecutor()參數(shù):
第一個參數(shù)?int corePoolSize?: 核心線程數(shù)
第二個參數(shù)?int maximumPoolSize?: 最大線程數(shù)
第三個參數(shù)?long keepAliveTime?: 臨時線程最大存活時間(這是一個數(shù)值,并沒有單位)
第四個參數(shù)?TimeUnit unit?: 臨時線程最大存活時間(這個是單位) 枚舉 (用法:枚舉類名.枚舉項名)
第五個參數(shù)?BlockingQueue<Runnable> workQueue?: 阻塞隊列(用于存儲還沒有執(zhí)行的線程任務(wù))
第六個參數(shù)?ThreadFactory threadFactory?: 線程工廠
第七個參數(shù)?RejectedExecutionHandler handler?: 默認(rèn)拒絕處理策略(當(dāng)線程任務(wù)數(shù)量超過了最大線程數(shù)+阻塞隊列長度時才會起作用)
創(chuàng)建對象實現(xiàn)run()方法:
主方法:
方法二:
4、任意輸入一個字符串,編程輸出這個字符串中第一個沒有重復(fù)的字符的下標(biāo)和該字符。
如字符串為“dfablkfdalk”,則輸出:3-b,如果所有字符均重復(fù)則輸出“沒有不重復(fù)的字符”。
5、我們班現(xiàn)在要選舉產(chǎn)生最卷的學(xué)生,每人有一次投票權(quán),每人的票可以投給任意的學(xué)生
用面向?qū)ο缶幊虒崿F(xiàn)這個功能。(假設(shè)班級人數(shù)6人)。
學(xué)生類:
主方法:
6、郭靖去銀行辦了一張銀行卡和存折,卡上存了1000元,郭靖把存折給了黃蓉,他們倆
同時去銀行兩個柜臺,一人用銀行卡,一人用存折取款,每次只能取100塊,請使用多線
程編程實現(xiàn)他們?nèi)〕鲞@1000塊錢的過程。.
run方法:
主方法: