《跨平臺程序設(shè)計語言》課件-第5章 數(shù)組、字符串和枚舉_第1頁
《跨平臺程序設(shè)計語言》課件-第5章 數(shù)組、字符串和枚舉_第2頁
《跨平臺程序設(shè)計語言》課件-第5章 數(shù)組、字符串和枚舉_第3頁
《跨平臺程序設(shè)計語言》課件-第5章 數(shù)組、字符串和枚舉_第4頁
《跨平臺程序設(shè)計語言》課件-第5章 數(shù)組、字符串和枚舉_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1.字符串介紹第5章數(shù)組、字符串和枚舉什么是字符串字符串:字符串是字符的序列,它是組織字符的基本數(shù)據(jù)結(jié)構(gòu),從某種程度上來說有些類似于字符的數(shù)組。在Java中,字符串被當(dāng)作對象來處理,是String類的實例。字符串常量使用雙引號括住的一串字符,比如:Java編譯器自動為每一個字符串常量生成一個String類的實例,因此可以用字符串常量直接初始化一個String對象,如:"Helloworld!"Strings="Helloworld!";創(chuàng)建字符串通過使用String類的構(gòu)造方法來創(chuàng)建字符串:String共有11個構(gòu)造方法。常用的幾個是:例如:注意:String類是不可改變的,所以一旦創(chuàng)建了String對象,那它的值就無法改變了publicString(); //創(chuàng)建一個空的字符串publicString(Strings); //用已有字符串創(chuàng)建新的string(最常用)publicString(StringBufferbuf); //用StringBuffer對象的內(nèi)容初始化新的StringpublicString(charvalue[]); //用已有的字符數(shù)組初始化新的stringStrings=newString("Helloworld!");字符串常用方法String類位于java.lang包中,java會默認(rèn)的導(dǎo)入java.lang包,所以使用java.lang包的類時,不需要顯示的import類,String類具有豐富的方法,其中比較常用的有:在Java中,equals()方法用于比較兩個字符串的內(nèi)容是否相等,而“==”用于比較兩個字符串的引用是否相等。字符串比較上面的代碼中,s1和s2都是直接賦值的字符串常量,它們的引用指向同一個字符串對象。s3是通過new關(guān)鍵字創(chuàng)建的新的字符串對象,它的引用指向一個新的字符串對象。當(dāng)我們使用equals()方法比較s1和s2、s1和s3時,返回的結(jié)果是true,因為它們的內(nèi)容都相等。當(dāng)使用“==”比較s1和s2、s1和s3時,s1和s2的引用相等,所以返回true,而s1和s3的引用不相等,所以返回false。Strings1="Hello";Strings2="Hello";Strings3=newString("Hello");

System.out.println(s1.equals(s2)); //trueSystem.out.println(s1.equals(s3)); //trueSystem.out.println(s1==s2); //trueSystem.out.println(s1==s3); //false連接字符串String類提供了連接兩個字符串的方法:返回string2連接string1的新字符串。也可以對字符串常量使用concat()方法,如:更常用的是使用'+'操作符來連接字符串,如:結(jié)果如下:string1.concat(string2);"我的名字是".concat("張三");"Hello,"+"world"+"!""Hello,world!"StringBuilder類和StringBuffer類String類對象的長度和內(nèi)容賦值后是不能被改變的、或者被附加新的子串;盡管可以用“+”的方式把子串附加到String對象的原串中,如在例中的StringtoHexString(byte[]b)方法:publicstaticStringtoHexString(byte[]b){Stringa="[";for(inti=0;i<b.length;i++){Stringhex=Integer.toHexString(b[i]&0xFF);//保留1字節(jié)if(hex.length()==1){hex='0'+hex;}a=a+((i==0)?(hex):(","+hex));}a=a+"]";returna.toUpperCase();}程序中字符串對象a初值賦給“[”,每次執(zhí)行第08行時,又會在原串的基礎(chǔ)上附加新的子串,生成新的對象實例;這種方式能夠正確運行,但是每次執(zhí)行后會產(chǎn)生新的String對象實例,占用新的存儲空間。類似這種頻繁追加操作,勢必在堆中產(chǎn)生大量的實例;如果大量使用,可能會導(dǎo)致堆空間緊張;此外,每次生成新的對象需要時間,也會影響運行效率;從空間和時間考慮,建議避免使用。StringBuilder類和StringBuffer類在面向?qū)ο蟪绦蛟O(shè)計時,最好采用能夠重復(fù)使用的對象。對于串對象,Java引入兩個可以重復(fù)使用的串類,StringBuilder和StringBuffer類。這兩類創(chuàng)建的串對象后,它們的內(nèi)容允許被改變,也就是說,對象可以重復(fù)修改、使用。兩者的區(qū)別是:StringBuffer類是線程安全的、而StringBuilder是線程不安全的,因為線程安全是需要犧牲性能的,因此,線程安全者性能較差,線程不安全者則性能較好。所謂“線程安全”,主要體現(xiàn)兩點:第一,在多個線程對同一個實例訪問時不會相互干擾,不會產(chǎn)生沖突;其次,是每個線程有自己的字段,這些不會在多個線程間共享。更深入的理解將在后續(xù)多線程章節(jié)的課程介紹。StringBuilder類和StringBuffer類StringBuilder():用不帶參數(shù)構(gòu)建StringBuilder對象;StringBuilder(CharSequenceseq):用CharSequence作為參數(shù)構(gòu)建StringBuilder對象;StringBuilder(inti):用int數(shù)據(jù)作為參數(shù)構(gòu)建StringBuilder對象;StringBuilder(Stringstr):用String對象作為參數(shù)構(gòu)建StringBuilder對象。StringBuilder類的方法見Java的API文檔。StringBuilder類和StringBuffer類的構(gòu)造方法類似。在這里僅介紹StringBuilder類的構(gòu)造方法:StringBuilder類和StringBuffer類publicstaticStringtoHexString0(byte[]b){StringBuildera=newStringBuilder("[");//創(chuàng)建一個初值為“[”的StringBuilder對象aStringBuilderhex=newStringBuilder("");//創(chuàng)建一個帶空串的StringBuilder對象hex

for(inti=0;i<b.length;i++){ hex.append((Integer.toHexString(b[i]&0xFF)).toUpperCase());//保留1字節(jié),轉(zhuǎn)換成大寫字母if(hex.length()==1)hex.insert(0,"0");if(i==0)a.append(hex);//調(diào)用a.append()方法追加到hex對象序列的后面elsea.append(","+hex);//調(diào)用hex.append()方法追加到hex對象序列的后面hex.delete(0,hex.length());//調(diào)用hex.delete()方法把原先hex中的序列全部刪除

}a.append("]");returna.toString();//由于a是StringBuilder類對象,而返回的是String類,把a中序列轉(zhuǎn)換成String類}應(yīng)用StringBuilder類,可以重寫上述例中的StringtoHexString(byte[]b)方法,更名為toHexString0(byte[]b),仍然放在StringMethod01.Java源程序中:2.1數(shù)組的使用第5章數(shù)組、字符串和枚舉什么是數(shù)組數(shù)組:數(shù)組(array)是一種最簡單的復(fù)合數(shù)據(jù)類型,它是有序數(shù)據(jù)的集合,數(shù)組中的每個元素具有相同的數(shù)據(jù)類型,可以用一個統(tǒng)一的數(shù)組名和不同的下標(biāo)來確定數(shù)組中唯一的元素。根據(jù)數(shù)組的維度,可以將其分為一維數(shù)組、二維數(shù)組和多維數(shù)組等。什么是數(shù)組在Java中數(shù)組的下標(biāo)是從零開始的,很多計算機(jī)語言的數(shù)組下標(biāo)也從零開始。Java數(shù)組下標(biāo)訪問運算符是中括號,如intArray[0],表示訪問intArray數(shù)組的第一個元素,0是第一個元素的下標(biāo)。Java中的數(shù)組本身是引用數(shù)據(jù)類型,它的長度屬性是length。數(shù)組:所有的數(shù)組都是由連續(xù)的內(nèi)存位置組成的。最低的地址對應(yīng)第一個元素,最高的地址對應(yīng)最后一個元素。Numbers[0]NumBers[1]Numbers[2]Numbers[3]……FirstElementLastElement聲明數(shù)組在java中聲明一個數(shù)組,可以使用下面的語法:datatype用于指定被存儲在數(shù)組中的元素的類型。arrayName指定數(shù)組的名稱。示例:注意:Java語言中聲明數(shù)組時不能指定其長度(數(shù)組中元素的數(shù)),例如:inta[5];是錯誤的datatype[]arrayName;或者datatypearrayName[];inta[];int[]b;String[]c;初始化數(shù)組聲明一個數(shù)組不會在內(nèi)存中初始化數(shù)組。當(dāng)初始化數(shù)組變量時,可以賦值給數(shù)組。數(shù)組是一個引用類型,所以需要使用new關(guān)鍵字來創(chuàng)建數(shù)組的實例。動態(tài)初始化:數(shù)組聲明且為數(shù)組元素分配空間與賦值的操作分開進(jìn)行int[]arr=newint[3];arr[0]=3;arr[1]=6;arr[2]=9;intarr[]=newint[]{3,6,9};//或int[]arr={3,6,9};//定義數(shù)組長度為0,數(shù)組的長度可以為0int[]a=newint[]{};int[]a={};靜態(tài)初始化

:在定義數(shù)組的同時就為數(shù)組元素分配空間并賦值使用數(shù)組聲明并用運算符new為之分配空間后,才可以引用數(shù)組中的每個元素數(shù)組元素的引用方式:數(shù)組名[數(shù)組元素下標(biāo)]數(shù)組元素下標(biāo)可以是整型常量或整型表達(dá)式。如a[3],b[i],c[6*i]數(shù)組元素下標(biāo)從0開始;長度為n的數(shù)組合法下標(biāo)取值范圍:0—>n-1,即[0,length)每個數(shù)組都有一個屬性length指明它的長度注意:數(shù)組一旦初始化,其長度是不可變的使用數(shù)組示例:聲明并初始化長度為10的整型數(shù)組,遍歷賦值和輸出成績。Scannerinput=newScanner(System.in);//定義長度為10的整型一維數(shù)組int[]arr=newint[10];//遍歷輸入成績,索引范圍0~arr.length-1for(inti=0;i<arr.length;i++){arr[i]=input.nextInt();}//遍歷輸出成績,索引范圍0~arr.length-1for(inti=0;i<arr.length;i++){System.out.println(arr[i]);}總結(jié)1.一致性:數(shù)組只能保存相同數(shù)據(jù)類型元素,元素的數(shù)據(jù)類型可以是任何相同的數(shù)據(jù)類型。2.有序性:數(shù)組中的元素是有序的,通過下標(biāo)訪問。3.不可變性:數(shù)組一旦初始化,則長度(數(shù)組中元素的個數(shù))不可變。數(shù)組特性:在計算機(jī)語言中數(shù)組是非常重要的集合類型,大部分計算機(jī)語言中數(shù)組具有如下三個基本特性:總結(jié)數(shù)組可以是一維數(shù)組、二維數(shù)組或多維數(shù)組。數(shù)值數(shù)組元素的默認(rèn)值為0,而引用元素的默認(rèn)值為null。數(shù)組的索引從0開始,如果數(shù)組有n個元素,那么數(shù)組的索引是從0到(n-1)。數(shù)組元素可以是任何類型,包括數(shù)組類型。數(shù)組類型是從抽象基類Array派生的引用類型。數(shù)組特點:2.2數(shù)組常用算法第5章數(shù)組、字符串和枚舉數(shù)組的遍歷在Java中,通常使用循環(huán)結(jié)構(gòu)來遍歷數(shù)組。常見的循環(huán)結(jié)構(gòu)包括for循環(huán)和foreach循環(huán)。使用for循環(huán)遍歷數(shù)組for循環(huán)適用于已知需要遍歷的次數(shù)的情況。以下是使用for循環(huán)遍歷數(shù)組的示例代碼:在上述代碼中,通過array.length獲取數(shù)組的長度,然后使用for循環(huán)遍歷數(shù)組。循環(huán)變量i從0開始遞增,直到i的值等于數(shù)組長度減1。for(inti=0;i<array.length;i++){//訪問數(shù)組中的元素并進(jìn)行相應(yīng)的操作System.out.println(array[i]);}數(shù)組的遍歷使用foreach循環(huán)遍歷數(shù)組foreach循環(huán)適用于不需要使用索引值的情況。以下是使用foreach循環(huán)遍歷數(shù)組的示例代碼:在上述代碼中,通過intnum:array的語法,將數(shù)組array中的每個元素賦值給變量num,然后對num進(jìn)行相應(yīng)的操作。for(intnum:array){//訪問數(shù)組中的元素并進(jìn)行相應(yīng)的操作System.out.println(num);}冒泡排序從第一個元素開始,兩兩進(jìn)行比較,將較大的數(shù)往后移,這樣就將最大的數(shù)放在了最后。第二輪將第二大的數(shù)放在倒數(shù)第二個,以次類推,將元素按大小順序排序。原理:冒泡排序練習(xí):已知一組數(shù):{3,44,38,5,47,15,36,26,27,2,46,4,19,50,48},請按從小到大的順序輸出。//聲明初始化數(shù)組(靜態(tài)初始化)int[]arr={3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};//兩兩比較,每次得到最大值,并移動到最右邊。//因為最后一次比較得出最后兩個數(shù)值的位置,則進(jìn)行l(wèi)ength-1輪比較for(inti=0;i<arr.length-1;i++){for(intj=0;j<arr.length-1-i;j++){//比較當(dāng)前j索引值與下一個索引(j+1)值的大小if(arr[j]>arr[j+1]){inttemp=arr[j]; //定義臨時變量存儲j索引的值arr[j]=arr[j+1]; //將(j+1)索引的值賦值到j(luò)索引元素arr[j+1]=temp; //將臨時變量temp(存儲了j索引的值)賦值到(j+1)索引元素}}}//遍歷輸出數(shù)組for(inti=0;i<arr.length;i++)System.out.print(arr[i]+"、");數(shù)組查找在Java編程中,數(shù)組是一種常用的數(shù)據(jù)結(jié)構(gòu),用于存儲一系列相同類型的元素。當(dāng)我們需要查找數(shù)組中的某個元素時,可以使用不同的算法和方法來實現(xiàn)。冒泡排序練習(xí):已知一組數(shù):{1,2,3,4,5},查找輸入目標(biāo)元素是否存在。//初始化數(shù)組int[]array={1,2,3,4,5};Scannerscanner=newScanner(System.in); //創(chuàng)建輸入對象inttarget=scanner.nextInt(); //輸入需要查找的目標(biāo)元素//遍歷數(shù)組booleanfound=false;for(inti=0;i<array.length;i++){if(array[i]==target){found=true;break;}}//返回結(jié)果if(found)System.out.println("目標(biāo)元素找到了!");elseSystem.out.println("目標(biāo)元素未找到!");二分查找在有序數(shù)組中尋找一個元素x,先用數(shù)組的中間元素和x比較,如果相等則返回,x小于中間元素的話就在左半?yún)^(qū)尋找,大于中間元素就在右半?yún)^(qū)尋找,此時也可以用半?yún)^(qū)的中間元素進(jìn)行比較,進(jìn)一步縮小尋找范圍,直到找到,可以采用遞歸的思想。原理:二分查找利用二分查找返回元素在有序數(shù)組中的索引,沒找到則返回-1。publicstaticintgetIndex(int[]arr,intnum){intminIndex=0;intmaxIndex=arr.length-1;intmidIndex=(minIndex+maxIndex)/2;while(minIndex<=maxIndex){if(num==arr[midIndex]){returnmidIndex;}elseif(num>arr[midIndex]){minIndex=midIndex+1;}else{maxIndex=midIndex-1;}midIndex=(maxIndex+minIndex)/2;}return-1;}2.3多維數(shù)組第5章數(shù)組、字符串和枚舉什么是多維數(shù)組在Java中,從數(shù)組底層的運行機(jī)制來看,其實沒有多維數(shù)組。多維數(shù)組可以看成以數(shù)組為元素的數(shù)組。Java中可以有二維、三維、甚至更多維數(shù)組,但是實際開發(fā)中用的非常少,最多到二維數(shù)組。多維數(shù)組:二維數(shù)組介紹二維數(shù)組的本質(zhì)其實就是一維數(shù)組,只不過每個元素又是一個一維數(shù)組。在java中聲明一個二位數(shù)組,可以使用下面的語法:“[][]”用于表明定義了一個二維數(shù)組,通過多個下標(biāo)進(jìn)行數(shù)據(jù)訪問:二維數(shù)組的初始化主要分為靜態(tài)初始化和動態(tài)初始化。datatype[][]arrayName;或者datatypearrayName[][];數(shù)組名[數(shù)組元素下標(biāo)][數(shù)組元素下標(biāo)]二維數(shù)組:二維數(shù)組介紹在創(chuàng)建數(shù)組時不直接指定數(shù)據(jù)元素個數(shù),而是直接將具體的數(shù)據(jù)內(nèi)容進(jìn)行指定。publicclassTest{publicstaticvoidmain(String[]args){int[][]a={{1,2,3},{3,4},{3,5,6,7}};System.out.println(a[2][3]);}}靜態(tài)初始化:二維數(shù)組介紹在創(chuàng)建數(shù)組時不直接指定數(shù)據(jù)元素個數(shù),而是直接將具體的數(shù)據(jù)內(nèi)容進(jìn)行指定。importjava.util.Arrays;publicclassTest{publicstaticvoidmain(String[]args){int[][]a=newint[3][];//a[0]={1,2,5};//錯誤,沒有聲明類型就初始化a[0]=newint[]{1,2}; a[1]=newint[]{2,2}; a[2]=newint[]{2,2,3,4}; System.out.println(a[2][3]); System.out.println(Arrays.toString(a[0]));System.out.println(Arrays.toString(a[1])); System.out.println(Arrays.toString(a[2]));}}運行結(jié)果:動態(tài)初始化:二維數(shù)組介紹練習(xí):創(chuàng)建一個二維數(shù)組存儲兩個班的成績,每班10人,請遍歷賦值和輸出成績。Scannerinput=newScanner(System.in);//定義二維數(shù)組int[][]arr=newint[2][10];//遍歷輸入成績,索引范圍0~arr.length-1for(inti=0;i<arr.length;i++){//得到一維數(shù)組int[]arr_1=arr[i];//遍歷一維數(shù)組,索引范圍0~arr_1.length-1for(intj=0;j<arr_1.length;j++){arr[i][j]=input.nextInt();}}//遍歷輸出成績,索引范圍0~arr.length-1for(inti=0;i<arr.length;i++){//得到一維數(shù)組int[]arr_1=arr[i];//遍歷一維數(shù)組,索引范圍0~arr_1.length-1for(intj=0;j<arr_1.length;j++){System.out.print(arr[i][j]+"\t");}//換行System.out.print("\n");}實現(xiàn)代碼1實現(xiàn)代碼2Arrays類的使用JDK中提供了一個專門用于操作數(shù)組的工具類,即Arrays類,位于java.util包中。Arrays類的使用Arrays類提供了一些列方法來操作數(shù)組,如排序、復(fù)制、比較、填充等,用戶直接調(diào)用這些方法即可不需要自己編碼實現(xiàn),降低了開發(fā)難度。java.util.Arrays是一個與數(shù)組相關(guān)的工具類,里面提供了大量靜態(tài)方法,用來事項數(shù)組常見的操作。Arrays類的使用3.枚舉介紹第5章數(shù)組、字符串和枚舉什么是枚舉Java枚舉(Enum)是一種特殊的數(shù)據(jù)類型,它是一組預(yù)定義的常量,每個常量都有一個名稱和一個值。枚舉類型在Java中被廣泛使用,它可以用來代替常量、標(biāo)志位、狀態(tài)碼等,使代碼更加清晰、易讀和易維護(hù)。在日常生活中,經(jīng)常遇到一些數(shù)據(jù),如一個星期只有7天、一年有12個月、交叉路口的信號燈只有紅綠黃3中顏色等等,這些數(shù)據(jù)被稱為可枚舉數(shù)據(jù)。枚舉:枚舉的使用在Java中,可以通過關(guān)鍵字enum來定義枚舉類型。枚舉類型的定義格式如下:其中EnumName是枚舉類型的名稱Constant1、Constant2、Constant3等是枚舉類型的常量。每個枚舉常量都有一個名稱和一個值,枚舉常量的名稱通常采用大寫字母命名,多個單詞之間用下劃線分隔。enumEnumName{Constant1,Constant2,Constant3,...}定義枚舉類型:枚舉的使用例如:可以定義一個月份的Month枚舉類:例如:定義一個星期的Weekday枚舉類:publicenumMonth{//索引值January,February,March,April,May,June,July,August,September,October,November,December}publicenumWeekday{Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday;}定義枚舉類型:訪問枚舉常量:枚舉的使用在Java中,可以通過枚舉類型的名稱來訪問枚舉常量。例如,一年四個季節(jié)Season枚舉,可以通過如下方式來訪問枚舉常量:Weekday.Monday表示W(wǎng)eekday枚舉類型中的Monday常量。Weekdaymonday=Weekday.Monday;枚舉的使用枚舉類型可以定義方法,這些方法可以在枚舉常量上調(diào)用。例如,可以在Weekday枚舉類型中定義一個isWeekend方法來判斷當(dāng)前枚舉常量是否為周末:在上面的例子中,通過在枚舉常量后面定義方法,可以在每個枚舉常量上調(diào)用這個方法。例如,可以通過Weekday.Saturday.isWeekend()來判斷Saturday是否為周末。enumWeekday{Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday;

publicbooleanisWeekend(){returnthis==Saturday||this==Sunday;}}枚舉方法:枚舉的使用枚舉類型也可以定義構(gòu)造器,這些構(gòu)造器只能在枚舉常量的定義中被調(diào)用,并且只能用來初始化枚舉常量的值。例如,可以在Weekday枚舉類型中定義一個帶參數(shù)的構(gòu)造器來設(shè)置枚舉常量的值:enumWeekday{Monday("星期一"),Tuesday("星期二"),Wednesday("星期三"),Thursday("星期四"),Friday("星期五"),Saturday("星期六"),Sunday("星期日");

privateStringvalue;privateWeekday(Stringvalue){this.value=value;}publicStringgetValue(){returnvalue;}}枚舉構(gòu)造器:枚舉的使用例如,可以在Weekday枚舉類型中定義一個帶參數(shù)的構(gòu)造器來設(shè)置枚舉常量的值:在上面的例子中,通過在枚舉常量后面定義構(gòu)造器,可以在枚舉常量的定義中為枚舉常量設(shè)置值。例如,可以通過Weekday.Monday.getValue()來獲取Monday的值。枚舉構(gòu)造器:enumWeekday{Monday("星期一"),Tuesday("星期二"),Wednesday("星期三"),Thursday("星期四"),Friday("星期五"),Saturday("星期六"),Sunday("星期日");

privateStringvalue;privateWeekday(Stringvalue){this.value=value;}publicStringgetValue(){returnvalue;}}枚舉的練習(xí)練習(xí):假設(shè)我們有一個游戲,游戲中有三個角色:戰(zhàn)士、法師和牧師。每個角色都有自己的屬性:血量、攻擊力和防御力。可以使用枚舉類型來表示這三個角色。枚舉的練習(xí)publicenumRole{WARRIOR("戰(zhàn)士",100,50,30), //枚舉常量:WARRIOR

MAGE("法師",80,70,20), //枚舉常量:MAGE

PRIEST("牧師",60,30,50); //枚舉常量:PRIEST

privateStringname;

//角色名稱privateinthp;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論