版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、(黑馬點(diǎn)招面試題):有類似這樣的字符串:"1.2,3.4,5.6,7.8,5.56,44.55”請(qǐng)按照要求,
依次完成以下試題。
(1)以逗號(hào)作為分隔符,把已知的字符串分成一個(gè)String類型的數(shù)組,數(shù)
組中的每一個(gè)元素類似于"1.273.4"這樣的字符串
(2)把數(shù)組中的每一個(gè)元素以"."作為分隔符,把"."左邊的元素作為key,右
邊的元素作為value,封裝到Map中,M叩中的key和value都是Object類型。
(3)把map中的key封裝的Set中,并把Set中的元素輸出。
(4)把map中的value封裝到Collection中,把Collection中的元素輸出。
2、(黑馬點(diǎn)招面試題):現(xiàn)有如下兩個(gè)已知條件:
在F盤有一個(gè)文件:a.txt,該文件內(nèi)容如下:
test.Person,id:5
test.Student,id:6
(1)讀取a.txt中為每一行,把每一行放入一個(gè)變量中
(2)用","分隔符把變量變成一個(gè)String類型的數(shù)組。
(3)讀取數(shù)據(jù)中的第一個(gè)元素,利用java反射機(jī)制創(chuàng)建對(duì)象。
3、編寫程序,循環(huán)接收用戶從鍵盤輸入多個(gè)字符串,直到輸入“end”時(shí)循環(huán)結(jié)束,并
將所有已輸入的字符串按字典順序倒序打印。
4、編寫一個(gè)程序,把指定目錄下的所有的帶.java文件都拷貝到另一個(gè)目錄中,拷貝成
功后,把后綴名是.java的改成.txt。
5,編寫一個(gè)類A,增加一個(gè)實(shí)力方法showString,用于打印一條字符串,在編寫一個(gè)類
TestA,作為客戶端,用鍵盤輸入?個(gè)字符串,改字符串就是類A的全名,使用反射機(jī)制創(chuàng)
建該類的對(duì)象,并調(diào)用該對(duì)象中的方法showStringo
6、鍵盤錄入5個(gè)數(shù)據(jù),存儲(chǔ)到一個(gè)數(shù)組中,取最大值和最小值。
7、取出個(gè)字符串中字母出現(xiàn)的次數(shù)。如:字符串:"abcdekka27qoq",輸出格式為:
a(2)b(l)k(2)...
8、向泛型為Integer的AnayList中添加-,個(gè)String類型的元素
9、定義?個(gè)文件輸入流,調(diào)用read(byte[]b)方法將exercise.txt文件中的所有內(nèi)容打印
出來(lái)(byte數(shù)組的大小限制為5).
11、編寫程序,循環(huán)接收用戶從鍵盤輸入多個(gè)字符串,直到輸入“end”時(shí)循環(huán)結(jié)束,
并將所有已輸入的字符串按字典順序倒序打印。
12、一個(gè)ArrayList對(duì)象aList中存有若干個(gè)字符串元素,現(xiàn)欲遍歷該ArrayList對(duì)象,
刪除其中所有值為“abc”的字符串元素,請(qǐng)用代碼實(shí)現(xiàn)。
13、編寫一個(gè)類,增加一個(gè)實(shí)例方法用于打印一條字符串。并使用反射手段創(chuàng)建該類的
對(duì)象,并調(diào)用該對(duì)象中的方法。
14、編寫一個(gè)程序,獲取10個(gè)1至20的隨機(jī)數(shù),要求隨機(jī)數(shù)不能重復(fù)。
15、聲明一個(gè)共享數(shù)組,起兩個(gè)線程,兩個(gè)線程分別隔一段時(shí)間(可以寫一個(gè)隨機(jī)數(shù)),
給數(shù)組中添加數(shù)據(jù),每?個(gè)線程為數(shù)組添加3個(gè)數(shù)據(jù)即可。
16、使用帶緩沖功能的字節(jié)流復(fù)制文件。
17、求三位數(shù)的質(zhì)數(shù),只能被本身和1整除,倒序輸出
18、用Math.random生成1,2,3,4,5,6,7,8,9,10
19、鍵盤錄入5個(gè)數(shù),存儲(chǔ)到一個(gè)數(shù)組中,取最大值和最小值
20、通過(guò)反射創(chuàng)建?個(gè)對(duì)象,并且運(yùn)行其中的私有方法
21、九九乘法表
22、冒泡排序
23、懶漢式
24、1-100中個(gè)位和十位不含7的數(shù)
25、從文本中讀取在控制臺(tái)顯示
packagecom.itheima;
importjava.util.Collection;
importjava.utiLHashMap;
importjava.util.IdentityHashMap;
importjava.util.Map;
importjava.util.Set;
/*
*1、有類似這樣的字符串:”1.2,3.4,5.6,7.8,5.56,44.55"請(qǐng)按照要求,依次完成以下試題。
*(1)以逗號(hào)作為分隔符,把已知的字符串分成一個(gè)String類型的數(shù)組,數(shù)組中的每
一個(gè)元素類似于"1.2",”3.4”這樣的字符串
*(2)把數(shù)組中的每一個(gè)元素以作為分隔符,把".”左邊的元素作為key,右邊的元素
作為value,封裝到Map中,Map中的key和value都是Object類型。
*(3)把map中的key封裝至ljSet中,并把Set中的元素輸出。
*(4)把map中的value封裝至UCollection中,把Collection中的元素輸出。
*
*思路:
求一定要明確的是:我們學(xué)的Map集合鍵是不可以重復(fù)的,所以我們做這個(gè)題的時(shí)候
就要考慮可以重復(fù)鍵的Map集合。IdentityHashMap
*考點(diǎn):1.正則2.M叩集合3*.最重要的是要明確這個(gè)題的最重要的一點(diǎn),
IdentityHashMap作為Map集合鍵可以重復(fù)。
*要知道,所有的題都是很簡(jiǎn)單的,不要想的太復(fù)雜,多問(wèn)老師和百度。
*/
publicclassExamTestl{
publicstaticvoidmain(String[]args){
Stringstring="1.2,3.4,5.6,7.8,5.56,44.55”;〃定義一個(gè)字符串
Map<Object,Object>map=newIdentityHashMap<Object,Object>();//創(chuàng)建
M叩集合
Stringf]str=string.split(n,H);/Z將字符串以,”分割,用一個(gè)字符串str數(shù)組接收
//遍歷str數(shù)組并將數(shù)組中的元素用”.“分割(使用了正則表達(dá)式內(nèi)容),用str2
接收。
for(inta=0;a<str.length;a++){
//創(chuàng)建一個(gè)字符串?dāng)?shù)組str2
String[]str2=str[a].split(n\\.n);
//遍歷str2數(shù)組,將分割后的內(nèi)容存入到map集合中
map.put(str2[0],str2[l]);
Set<Object>set=map.keySet();
//打印set獲取鍵
System.out.println(set);
Collection<Object>col=map.values();
〃打印col獲取值
System.out.println(col);
)
packagecom.itheima;
importjava.io.BufferedReader;
importjava.io.FileReader;
/*
*2、現(xiàn)有如下兩個(gè)已知條件:
*在F盤有一個(gè)文件:a.txt屋該文件內(nèi)容如下:
*test.Person4d:5
*test.Student,id:6
*
*(1)讀取a.txt中為每一行,把每一行放入一個(gè)變量中
*(2)用","分隔符把變量變成一個(gè)String類型的數(shù)組。
*(3)讀取數(shù)據(jù)中的第一個(gè)元素,利用java反射機(jī)制創(chuàng)建對(duì)象。
*/
publicclassExamTest2{
publicstaticvoidmain(String[Jargs)throwsException{
//創(chuàng)建一個(gè)高效輸入流,指向F盤下的a.txt文件
BufferedReaderbr=newBufferedReader(newFileReader(na.txt"));
//讀取第一行
Stringstrl=br.readLine();
//讀取第二行
Stringstr2=br.readLine();
//System.out.println(strl);
//System.out.println(str2);
//分別用字符串?dāng)?shù)組接收用“J隔開(kāi)的兩部分
String[]strsl=strl.split。J);
String[]strs2=str2.split(n,");
〃創(chuàng)建字節(jié)碼對(duì)象
Classc=Class.forName(strs1[0]);
//c.getConstructor().newInstance();
〃用字節(jié)碼文件創(chuàng)建對(duì)象
Objectobj=c.newlnstance();
packagecom.itheima;
importjava.utiLComparator;
importjava.util.Iterator;
importjava.util.Scanner;
importjava.util.TreeSet;
〃3、編寫程序,循環(huán)接收用戶從鍵盤輸入多個(gè)字符串,直到輸入“end”時(shí)循環(huán)結(jié)束,
并將所有)輸入的字符串按字典順序倒序打印。
//問(wèn)樂(lè)飛去吧,思路對(duì)了,但是結(jié)果沒(méi)有對(duì)
publicclassExamTest3{
publicstaticvoidmain(String[]args){
TreeSet<String>ts=newTreeSeto(newComparator<String>(){
?Override
publicintcompare(Stringsi,Strings2){
retum-(pareTo(s2));
}
});
while(true){
Scannersc=newScanner(System.in);
Stringstring=sc.nextLine();
if(string.equals(nend")){
Iterator<String>it=ts.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
break;
)
ts.add(string);
)
packagecom.itheima;
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.FilenameFilter;
importjava.io.IOException;
〃4、編寫一個(gè)程序,把這個(gè)目錄下的所有的帶.java文件都拷貝到另一個(gè)目錄總,拷貝成功
后,把后綴名是.java的改成.txt
/*
*思路
*1、創(chuàng)建輸入流對(duì)象,遍歷目錄,通過(guò)匿名內(nèi)部類拿出。符合規(guī)則的文件
*2、通過(guò)高效字符流復(fù)制文件
*3、將.java改成.txt
*
*注意:如果是多級(jí)目錄的話用遞歸,最好在過(guò)濾器方法中用,這是要注意,遞歸調(diào)用的
方法一定要try..catch不可以拋異常,原因是他爹沒(méi)有,你懂得!
*/
publicclassExamTest4{
publicstaticvoidmain(String[]args)throwslOException{
//封裝d:\\java這個(gè)目錄
FilestartFile=newFile(,'d:\\javaM);
//獲取該目錄下的所有滿足條件的數(shù)組
File[Jfiles=startFile.listFiles(newFilenameFilter(){
?Override
publicbooleanaccept(Filedir,Stringname){
returnnewFile(dir,name).isFile()&&name.endsWith(H.java");
)
});
〃判斷目的地是否存在,不存在就建立
FileendFile=newFile(Hd:\\jarn);
if(!endFile.exists()){
endFile.mkdir();
)
//遍歷文件數(shù)組
for(Filef:files){
Stringname=f.getName();//得到文件名
FilenewFile=newFile(endFile,name);//將路徑和文件名拼接
BufferedReaderbr=newBufferedReader(newFileReader(f));
BulferedWriterbw=newBufferedWriter(newFileWriter(newFile));
Stringline=null;
while((line=br.readLine())!=null){
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();
br.close();
)
//改名
File[]endFileArray=endFile.listFiles();
for(Filefile:endFileArray){
Stringname=file.getName();
Stringnewname=name.replace(u.javau,".jar");
FilenewFile=newFile(endFile,newname);
file.renameTo(newFile);
)
)
)
packagecom.itheima;
importjava.lang.reflect.Method;
importjava.util.Scanner;
〃5、編寫一個(gè)類A,增加一個(gè)實(shí)力方法showString,用于打印一條字符串,在編寫一個(gè)類TestA,
作為客戶端,用鍵盤輸入一個(gè)字符串,改字符
〃串就是類A的全名,使用反射機(jī)制創(chuàng)建該類的對(duì)象,并調(diào)用該對(duì)象中的方法showString。
publicclassExamTest5{
publicstaticvoidmain(String[]args)throwsException{
Scannersc=newScanner(System.in);
Stringstring=sc.nextLine();
Classc=Class.forName(nheima.mianshiti.A");//獲取字節(jié)碼對(duì)象
Methodm=c.getMethod(nshowString",String.class);
m.invoke(c.newlnstance(),string);
classA{
publicvoidshowString(Stringstr){
System.out.println(str);
)
)
packagecom.itheima;
importjava.util.Arrays;
importjava.util.Scanner;
〃6、鍵盤錄入5個(gè)數(shù)據(jù),存儲(chǔ)到一個(gè)數(shù)組中,取最大值和最小值
//重點(diǎn)Arrays的sort方法忘了的看API
publicclassExamTest6{
publicstaticvoidmain(String[]args){
//鍵盤錄入5個(gè)數(shù)
Scannersc=newScanner(System.in);
int[]arr=newint[5];
intcount=0;
for(inti=0;i<5;i++){
System.out.println("請(qǐng)輸入第"+(count+1)+”個(gè)數(shù)據(jù):");
inta=sc.nextlnt();
arr[countj=a;
count++;
)
get(arr);
)
publicstaticvoidget(int[]arr){
Arrays.sort(arr);
System.out.prinlln("最大值為:"+arr[arr.length-1]);
System.out.println("最小值為:"4-arr[0]);
packagecom.itheima;
importjava.util.Iterator;
importjava.util.Map;
importjava.util.Map.Entry;
importjava.util.Scanner;
importjava.util.Set;
importjava.util.TreeMap;
/*7、取出一個(gè)字符串中字母出現(xiàn)的次數(shù)。如:字符串:uabcdekka27qoq",輸出格式為:
a(2)b(l)k(2)...
*
*這個(gè)不用解釋了,老畢視頻講的很清楚不懂多問(wèn)問(wèn)會(huì)的同學(xué)
*/
publicclassExamTest7{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("請(qǐng)輸入一個(gè)字符串:");
Stringstr=sc.nextLine();
char[]ch=str.toCharArrayO;//轉(zhuǎn)換成字符數(shù)組
TreeMap<Character,Integer>map=newTreeMap<>();//創(chuàng)建一個(gè)TreeMap
for(charc:ch){//遍歷
Characterkey=c;
Integervalue=map.get(c);
if(value==null){〃判斷,如果值為空,則向集合中添加(key」),如果不為空則
添加(key,value+l)
map.put(key,1);
}else{
map.put(key,value+1);
)
)
//遍歷集合
Set<Map.Entry<Character,Integer?set=map.entrySet();
Iterator<Entry<Character,Integer?it=set.iterator();
while(it.hasNext()){
Map.Entry<Character,Integer>me=it.next();
Characterkey=me.getKeyO;
Integervalue=me.getValue();
System.out.println(key+H("+value+")”);〃按規(guī)定的格式輸出
)
packagecom.itheima;
/*8、ArrayList<Integer>list=newArrayList<Integer>();
在這個(gè)泛型為Integer的ArrayList中存放一個(gè)String類型的對(duì)象。
*/
importjava.lang.reflect.Method;
importjava.util.ArrayList;
publicclassExamTest8{
publicstaticvoidmain(String[]args)throwsException{
〃用反射跳過(guò)泛型,調(diào)用ArrayList類中的add方法添加string
ArrayList<Integer>list=newArrayList<Integer>();//定義Inleger泛型
Methodm=list.getClass().getMethod(nadd",Object.class);//得到add方法對(duì)象
m.invoke(list,"thisisaString"”/通過(guò)反射來(lái)執(zhí)行l(wèi)ist的第一個(gè)方法,第一個(gè)是list對(duì)
象,代表該對(duì)象的方法,第二個(gè)是方法參數(shù)
System.out.println(list.get(0));
packagecom.itheima;
importjava.io.FilelnputStream;
importjava.io.lOException;
〃定義一個(gè)文件輸入流,調(diào)用read(byte[]b)方法將exercise.txt文件中的所有
〃內(nèi)容打印出來(lái)(byte數(shù)組的大小限制為5)o
publicclassExamTest9{
//@SuppressWamings(Munused")
publicstaticvoidmain(Stringl]args)throwslOException{
FilelnputStreamfis=newFileInputStream("E:\\a.java");
byte[]bys=newbyte[5];
intlen=0;
while((len=fis.read(bys))!=-1){
System.out.print(newString(bys));
packagecom.itheima;
importjava.util.HashMap;
importjava.util.Iterator;
importjava.util.Map;
importjava.util.Set;
/*
IS目:編寫一個(gè)類,在main方法中定義一個(gè)Map對(duì)象(采用泛型),加入若干個(gè)對(duì)象,然
后遍歷并打印出各元素的key和valueo
分析:
L創(chuàng)建Map對(duì)象
2.加入若干對(duì)象
3.遍歷Map對(duì)象
4.打印元素key和value
這要是不會(huì)不要怪別人,最基礎(chǔ)的,但是如果不熟練在好好練練
*/
publicclassExamTestlO{
publicstaticvoidmain(String[]args){
//創(chuàng)建Map對(duì)象
Map<String,Integer>map=newHashMap<String,Integer>();
//加入若干對(duì)象
map.putC'小明”,21);
map.put(“小王”,18);
map.put(“小李”,45);
//遍歷Map對(duì)象
Set<Map.Entry<String,Integer?set=map.entrySet();
Iterator<Map.Entry<String,Integer?it=set.iterator();
while(it.hasNext()){
Map.Entry<String,Integer>me=it.nextQ;
//打印元素key和value
System.out.println(”key:"+me.getKeyO+"-----”+nvalue:M
+me.getValueO);
)
packagecom.itheima;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.Iterator;
importjava.util.List;
/*
題目:編寫程序,循環(huán)接收用戶從鍵盤輸入多個(gè)字符串,直到輸入“end”時(shí)循環(huán)結(jié)束,
并將所有已輸入的字符串按字典順序倒序打印。
分析:
1.字符串本身提供的比較性為字典順序,可以使用工具類Collections.reverse()方法將原
來(lái)的比較性反序。
但也可以自定一個(gè)比較器,讓集合自身必備比較性;
2.鍵盤錄入的是字節(jié)流,操作的是字符流,可以使用轉(zhuǎn)換流,并加入緩沖區(qū)技術(shù),提
高效率;
3.錄入的字符串存儲(chǔ)到ArrayList集合中;
4.使用Collections工具類給ArrayList中元素排序
5.打印ArrayList集合中的元素
步驟:
1.List<String>list=newArrayList<String>();
2.BufferedReaderbufr=newBufferedReader(newInputStreamReader(System.in));
3.1ist.add(line);
4.Collections.sort(list,Collections.reverseOrder());
5.Iterator<String>it=list.iterator();
while(it.hasNext()){
System.out.println(it.next());
)
*/
publicclassExamTestll{
publicstaticvoidmain(String[]args){
//1、定義一個(gè)ArrayList集合
List<String>list=newArrayList<String>();
〃鍵盤錄入字符串,轉(zhuǎn)換流,緩沖區(qū)
System.out.println("請(qǐng)輸入一些字符或者字符串,end結(jié)束!)
BufferedReaderbufr=newBufferedReader(newInputStreamReader(System.in));
Stringline=null;
try(
while((line=bufr.readLine())!=null){
if("end'^equalsCline))
break;
//往ArrayList集合中添加元素
list.add(line);
)
}catch(lOExceptione){
thrownewRuntimeException(nIO異常)
)
〃給ArrayList排序,字典倒序
Collections.sort(list,Collections.reverseOrderO);
//打印集合
Iterator<String>it=list.iterator();
while(it.hasNext()){
System.out.println(it.next());
)
)
)
packagecom.itheima;
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
/*
*3、一個(gè)ArrayList對(duì)象aList中存有若干個(gè)字符串元素,
*現(xiàn)欲遍歷該ArrayList對(duì)象,刪除其中所有值為“abc”的字符串元素,
*請(qǐng)用代碼實(shí)現(xiàn)。
**/
@SuppressWarnings(,'unusedn)
publicclassExamTest12{
publicstaticvoidmain(String[]args){
List<String>aList=newArrayList<String>();
aList.add(nCSDN社區(qū))
aList.add("abcM);
aList.add("黑馬程序員)
aList.add("黑馬論壇)
aList.add("黑馬程序員——安卓)
aList.add("黑馬程序員—云計(jì)算");
aList.add("abc");
aList.add("我準(zhǔn)備去黑馬訓(xùn)練營(yíng)了)
//通過(guò)普通的角標(biāo)遍歷,刪除。要避免并發(fā)修改異常
for(inta=0;a<aList.size();a++){
if(aList.get(a).equals("abc")){
aList.remove(a);
}
)
System.out.println(aList);
packagecom.itheima;
importjava.lang.reflect.Method;
*6、編寫一個(gè)類,增加一個(gè)實(shí)例方法用于打印一條字符串。
*并使用反射手段創(chuàng)建該類的對(duì)象,并調(diào)用該對(duì)象中的方法。
**/
〃對(duì)象的打印方法
classPrintin{
publicvoidprintln(Stringstr){
System.out.println(str);
)
)
publicclassExamTest13{
publicstaticvoidmain(String[]args)throwsException{
Classc=Class.forName(ucom.itheima.Println");//通過(guò)反射的方式獲取該類的字節(jié)
碼文件
Methodmethod=c.getMethod(uprintln",Slring.class);//獲取字節(jié)碼對(duì)象對(duì)應(yīng)的方
法,并指定參數(shù)類型。
method.invoke(c.newlnstance(),”王榮榮好難看呀O(n_A)O哈哈?”);〃運(yùn)行對(duì)
象中的方法,并傳入?yún)?shù)。
packagecom.itheima;
importjava.util.Random;
importjava.util.TreeSet;
/*
*編寫一個(gè)程序,獲取10個(gè)1至20的隨機(jī)數(shù),要求隨機(jī)數(shù)不能重復(fù)。
*
*思路:
*1.定義一個(gè)集合,用于存儲(chǔ)隨機(jī)數(shù)
*2.產(chǎn)生隨機(jī)數(shù),并存儲(chǔ)進(jìn)集合中。
*3.對(duì)集合的長(zhǎng)度進(jìn)行判斷。
*步驟:
*1.由于隨機(jī)數(shù)不能重復(fù),所以使用Set集合。為了保證值的唯一,所以使用HashSet
集合.
*2.通過(guò)Set集合的add方法,將生成的隨機(jī)數(shù)存儲(chǔ)進(jìn)HashSet集合。
*3.通過(guò)Set集合的size方法對(duì)集合的長(zhǎng)度進(jìn)行判斷,如果產(chǎn)生的隨機(jī)數(shù)達(dá)到10個(gè),
那么將退出循環(huán)。
**/
publicclassExamTestl4{
publicstaticvoidmain(String[]args){
//存儲(chǔ)Integer的Set集合
TreeSet<Integer>set=newTreeSet<Integer>();
//判斷集合的長(zhǎng)度,如果符合了一定的長(zhǎng)度,那么循環(huán)結(jié)束
while(set.size()<10){
//產(chǎn)生1?20之間的隨機(jī)數(shù)
inti=newRandom().nextlnt(20)+1;
〃添加進(jìn)Set集合中
set.add(i);
)
//打印下集合的元素
System.out.println(set);
packagecom.itheima;
importjava.util.Arrays;
importjava.util.Random;
〃聲明一個(gè)共享數(shù)組,起兩個(gè)線程,
〃兩個(gè)線程分別隔一段時(shí)間(可以寫一個(gè)隨機(jī)數(shù)),給數(shù)組中添加數(shù)據(jù),
〃每一個(gè)線程為數(shù)組添加3個(gè)數(shù)據(jù)即可。
publicclassExamTestl5{
〃寫一個(gè)類實(shí)現(xiàn)Runnable接口,創(chuàng)建兩個(gè)Thread對(duì)象傳入該類
〃多線程操作共享數(shù)組需要同步synchronize
publicstaticvoidmain(String[]args){
FillArrayfa=newFillArrayO;
Threadtl=newThread(fa);
Threadt2=newThread(fa);
tl.start();
t2.start();
)
}
classFillArrayimplementsRunnable{
〃定義共享數(shù)組
int[]arr=newint[6];
〃創(chuàng)建random類的r對(duì)象
Randomr=newRandom();
//簡(jiǎn)單初始化
intcount=0;
publicvoidrun(){
//同步代碼塊
synchronized(r){
//控制長(zhǎng)度
while(count<arr.length){
//Romdom類的nextlnt方法自己看API
intnum=r.nextInt(20);
〃System.out.println(Thread.currentThread().getName()+響數(shù)組中力I」入了
"+num);
arrfcount]=num;
count++;
//try{
//r.wait(500);
//}catch(Exceptione){
//e.printStackTrace();
//
System.out.println(AiTays.toString(arr));
packagecom.itheima;
importjava.io.BufferedlnputStream;
importjava.io.BufferedOutputStream;
importjava.io.FilelnputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
〃使用帶緩沖功能的字節(jié)流復(fù)制文件。
〃只有一個(gè)要強(qiáng)調(diào)的寫的時(shí)候要用實(shí)際長(zhǎng)度因?yàn)樽止?jié)控制在1024有可能里面的內(nèi)
容沒(méi)有這么大這時(shí)候會(huì)出現(xiàn)一些空格字節(jié)還是字符???
publicclassExamTestl6{
publicstaticvoidmain(String[]args){
BufferedlnputStreambis=null;
BufferedOutputStreambos=null;
try(
bis=newBufferedInputStream(newFileInputStream(ua.txtn));
bos=newBufferedOutputStream(newFileOutputStream("copya.txt"));
byte[lbys=newbyte[1024];
intlen=0;
while((len=bis.read(bys))!=-1){
bos.write(bys,0,len);
)
}catch(Exceptione){
e.printStackTrace();
}finally{
try(
bos.close();
}catch(lOExceptione){
e.printStackTrace();
}
try(
bis.close();
}catch(lOExceptione){
e.printStackTrace();
packagecom.itheima;
importjava.util.ArrayList;
importjava.util.Collections;
〃求三位數(shù)的質(zhì)數(shù),只能被本身和1整除,倒序輸出
publicclassExamTest17{
publicstaticvoidmain(String[]args){
ArrayList<Integer>al=newArrayList<>();
booleanflag=true;
for(inta=100;a<1000;a++){
flag=true;
for(intb=2;b<a;b++){
if(a%b==0){
flag=false;
break;
}
)
if(flag){
al.add(a);
)
)
//Collections工具類的方法,你懂得
Collections.reverse(al);
System.out.println(al);
packagecom.itheima;
importjava.util.TreeSet;
〃用Math.random生成1,2,3,4,5,6,7,8,9,10
//Math的random方法看API
publicclassExamTest18{
publicstaticvoidmain(String[]args){
TreeSet<Integer>ts=newTreeSet<Integer>();
//Randomrd=newRandom();
〃控制長(zhǎng)度
while(ts.size()<10){
ts.add((int)(Math.random()*10+1));
)
System.out.println(ts);
packagecom.itheima;
importjava.util.Arrays;
importjava.utiLScanner;
〃鍵盤錄入5個(gè)數(shù),存儲(chǔ)到一個(gè)數(shù)組中,取最大值和最小值
〃重點(diǎn)是Arrays的sort方法看API
publicclassExamTest19{
publicstaticvoidmain(String[]args){
int[]arr=newint[5];
Scannersc=newScanner(System.in);
System.out.println(nlogin");
for(inti=0;i<5;i++){
arr[i]=sc.nextlnt();
//System.out.println(arr[i]);
)
get(arr);
)
publicstaticvoidget(int[Jarr){
Arrays.sort(arr);
System.out.println(arrlOJ);
System.out.println(arr[arr.length-1]);
packagecom.itheima;
importjava.lang.reflect.Constructor;
importjava.lang.reflect.Method;
//通過(guò)反射創(chuàng)建一個(gè)對(duì)象,并且運(yùn)行其中的私有方法
//掌握反射的原理機(jī)制和三種獲取class字節(jié)碼文件的方法
publicclassExamTest20{
publicstaticvoidmain(String[]args)throwsException(
Classc=Class.forName("com.itheima.Studetn");
Constructorcon=c.getConstructor();
Objectobj=c.newlnstance();
Methodm=c.getDeclaredMethod("show",null);
m.setAccessible(true);
m.invoke(obj,null);
)
packagecom.itheima;
〃九九乘法表自己琢磨吧解釋就是對(duì)你最大的不尊重
publicclassExamTest21{
publicstaticvoidmain(String[]args){
for(intx=9;x>0;x—){
for(inty=1;y<=x;y++){
System.out.print(y++x+"="+x*y+
System.out.printlnO;
)
packagecom.itheima;
〃冒泡排序最基礎(chǔ)的東西掌握4種簡(jiǎn)單的排序明白外循環(huán)和內(nèi)循環(huán)的作用
publicclassExamTest22{
publicstaticvoidmain(String[]args){
int[]array={12,25,234,364,4,345,346,47);
for(inta=0;a<array.length-1;a++){
for(intb=0;b<array.length-1-a;b++){
if(arrayfb]>array[b+1]){
inttemp=array[b];
array[b]=array[b+1];
array[b+1]=temp;
)
)
)
for(inti:array){
System.out.println(i);
)
)
)
packagecom.itheima;
〃懶漢式(延遲加載的單例設(shè)計(jì)模式)
publicclassExamTest23{
}
classStudent{
privateStudent(){
privatestaticStudents=null;
〃注意在多線程程序中容易出現(xiàn)安全問(wèn)題,所以我們寫的時(shí)候最好加上synchronized
publicstaticsynchr
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度游艇俱樂(lè)部船舶租賃售后服務(wù)合同
- 《向中國(guó)軍隊(duì)學(xué)管理》課件
- 2025年度股東退出及公司知識(shí)產(chǎn)權(quán)轉(zhuǎn)讓及收益分成協(xié)議
- 二零二五年度油氣輸送管道應(yīng)急搶修服務(wù)合同
- 2025年度鋼結(jié)構(gòu)工程裝配式建筑產(chǎn)業(yè)政策研究與咨詢合同
- 2025年度購(gòu)房貸款擔(dān)保服務(wù)協(xié)議書(shū)
- 2025年度股東變更及二零二五年度股權(quán)轉(zhuǎn)讓與客戶關(guān)系維護(hù)協(xié)議
- 二零二五年度酒吧連鎖店加盟經(jīng)營(yíng)合同
- 二零二五年度網(wǎng)絡(luò)安全公司員工解除勞動(dòng)合同標(biāo)準(zhǔn)模板
- 二零二五年度私人房產(chǎn)買賣與房產(chǎn)交易全程顧問(wèn)服務(wù)合同
- 2024年高考語(yǔ)文備考之??甲骷易髌罚ㄏ拢褐袊?guó)現(xiàn)當(dāng)代、外國(guó)
- 《裝配式蒸壓加氣混凝土外墻板保溫系統(tǒng)構(gòu)造》中
- T-CSTM 01124-2024 油氣管道工程用工廠預(yù)制袖管三通
- 2019版新人教版高中英語(yǔ)必修+選擇性必修共7冊(cè)詞匯表匯總(帶音標(biāo))
- 新譯林版高中英語(yǔ)必修二全冊(cè)短語(yǔ)匯總
- 基于自適應(yīng)神經(jīng)網(wǎng)絡(luò)模糊推理系統(tǒng)的游客規(guī)模預(yù)測(cè)研究
- 河道保潔服務(wù)投標(biāo)方案(完整技術(shù)標(biāo))
- 品管圈(QCC)案例-縮短接臺(tái)手術(shù)送手術(shù)時(shí)間
- 精神科病程記錄
- 閱讀理解特訓(xùn)卷-英語(yǔ)四年級(jí)上冊(cè)譯林版三起含答案
- 清華大學(xué)考博英語(yǔ)歷年真題詳解
評(píng)論
0/150
提交評(píng)論