版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Java 語言程序設(shè)計(jì) 第七章課后習(xí)題答案 1.數(shù)組的聲明與數(shù)組元素的創(chuàng)建有什么關(guān)系? 答:聲明數(shù)組僅僅是代表試圖創(chuàng)建數(shù)組,不分配任何存儲空間,聲明是為創(chuàng)建做“鋪墊” 。 2.Vector 類的對象與數(shù)組有什么關(guān)系?什么時(shí)候適合使用數(shù)組,什么時(shí)候適合使用 Vector? 答:vector 是一個(gè)能夠存放任意對象類型的動態(tài)數(shù)組,容量能自動擴(kuò)充,而數(shù)組存儲固定且 類型相同的對象; 對于存儲固定類型相同的對象使用數(shù)組, 對于存儲不同類型或者動態(tài)調(diào)整 數(shù)組大小的情況使用 Vector。 3.與順序查找相比,二分查找有什么優(yōu)勢?使用二分查找的條件? 答:對于大數(shù)據(jù)量中進(jìn)行查找時(shí)二分查找比順序查找效率高得
2、多;條件是已排序的數(shù)組。 4.試舉出三種常見的排序算法,并簡單說明其排序思路。 答:選擇排序:基本思想是站在未排序列中選一個(gè)最小元素,作為已排序子序列,然后再 重復(fù)地從未排序子序列中選取一個(gè)最小元素, 把它加到已經(jīng)排序的序列中, 作為已排序子序 列的最后一個(gè)元素,直到把未排序列中的元素處理完為止。 插入排序: 是將待排序的數(shù)據(jù)按一定的規(guī)則逐一插入到已排序序列中的合適位置處, 直到 將全部數(shù)據(jù)都插入為止。 二分查找:將表中間位置記錄的關(guān)鍵字與查找關(guān)鍵字比較,如果兩者相等,則查找成功; 否則利用中間位置記錄將表分成前、 后兩個(gè)子表, 如果中間位置記錄的關(guān)鍵字大于查找關(guān)鍵 字,則進(jìn)一步查找前一子表,
3、否則進(jìn)一步查找后一子表。重復(fù)以上過程,直到找到滿足條件 的記錄,使查找成功,或直到子表不存在為止,此時(shí)查找不成功。 5.聲明一個(gè)類 People,成員變量有姓名、出生日期、性別、身高、體重等;生成 10 個(gè) People 類對象,并放在一個(gè)以為數(shù)組中,編寫方法按身高進(jìn)行排序。 /People 類 public class People private String name; private String birthdaydate; private String sex; private double height; private double weight; public People()
4、/默認(rèn)構(gòu)造函數(shù) public People(People p) =; this.birthdaydate=p.birthdaydate; this.sex=p.sex; this.height=p.height; this.weight=p.weight; public People(String name,String birthdaydate,String sex,double height,double weight) =name; this.birthdaydate=birthdaydate; this.sex=sex; this.hei
5、ght=height; this.weight=weight; public String getName() return name; public void setName(String name) = name; public String getBirthdaydate() return birthdaydate; public void setBirthdaydate(String birthdaydate) this.birthdaydate = birthdaydate; public String getSex() return sex; public vo
6、id setSex(String sex) this.sex = sex; public double getHeight() return height; public void setHeight(double height) this.height = height; public double getWeight() return weight; public void setWeight(double weight) this.weight = weight; public String toString() return 姓名:+name+n出生年月:+birthdaydate+n
7、性別:+sex+n 身高:+height+n體重:+weight; /test7_5 類 public class test7_5 /* * param args */ public static void main(String args) / TODO Auto-generated method stub People people= new People(林楚金,1989年8月13日,男,182,63.5), new People(諸葛亮,181年7月23日,男,184,76.6), new People(邁克杰克遜,1958年8月29日,男,180,60), new People(喬丹
8、,1963年2月17日,男,198,98.1), new People(拿破侖,1769年8月15日,男,159.5,63), new People(蒼井空,1983年11月11日,女,155,45),; People temp=new People(); for(int i=0;ipeople.length-1;i+) for(int j=i+1;jpeople.length;j+) if(peoplei.getHeight()peoplej.getHeight() temp=peoplej; peoplej=peoplei; peoplei=temp; System.out.println
9、(按身高從小到大排序后的結(jié)果如下:); for(int i=0;ipeople.length;i+) System.out.println(peoplei+n); 運(yùn)行結(jié)果: 6.聲明一個(gè)類,此類使用私有的 ArrayList 來存儲對象。使用一個(gè) Class 類的引用得到第一個(gè) 對象的類型之后,只允許用戶插入這種類型的對象。 /Fuck 類 import java.util.ArrayList; public class Fuck private ArrayList man=new ArrayList(); private Class classType=null; public void
10、add(Object f) if(man.size()=0) classType=f.getClass(); if(classType.equals(f.getClass() man.add(f); System.out.println(插入成功.); else System.out.println(只允許插入+getClassType()+類的對象.); public ArrayList getMan() return man; public Class getClassType() return classType; public Fuck() /test7_6 public class
11、test7_6 public static void main(String args) Fuck fuckman=new Fuck(); String s=new String(林楚金); fuckman.add(s); fuckman.add(10);/測試插入插入整數(shù) fuckman.add(f);/測試插入插入字符 fuckman.add(希特勒); System.out.println(fuckman.getMan(); 運(yùn)行結(jié)果: 7.找出一個(gè)二維數(shù)組的鞍點(diǎn),即該位置上的元素在所在行上最大,在所在列上最小。 (也可 能沒有鞍點(diǎn)) /test7_7 import java.util.
12、Scanner; public class test7_7 public static void main(String args) int row, series, max; boolean T=false; Scanner cin = new Scanner(System.in); System.out.println(請輸入數(shù)組的行數(shù)); row = cin.nextInt(); System.out.println(請輸入數(shù)組的列數(shù)); series = cin.nextInt(); int Array = new introwseries; int R = new introw;/
13、記錄每行最大的數(shù)的列標(biāo) int S = new intseries;/ 記錄每列最小的數(shù)的行標(biāo) System.out.println(請輸入數(shù)組內(nèi)容); for (int i = 0; i Array.length; i+) for (int j = 0; j Arrayi.length; j+) Arrayij = cin.nextInt(); if(j=series-1) max = Arrayi0; for (int z = 1; z max) max = Arrayiz; Ri = z; for (int j = 0; j Array0.length; j+) max = Array0
14、j; for (int z = 1; z row ; z+) if (Arrayzj max) max = Arrayzj; Sj = z; for(int i=0;iArray.length;i+) if(SRi=i) System.out.println(鞍點(diǎn):+Array+i+Ri+ :+ArrayiRi+n); T=true; if(T=false) System.out.println(沒有鞍點(diǎn)); 運(yùn)行結(jié)果: 8. 聲明一個(gè)矩陣類Matrix,其成員變量是一個(gè)二維數(shù)組,數(shù)組元素類型為int,設(shè)計(jì)下面的 方法, 并聲明測試類對這些方法進(jìn)行測試。 (1)構(gòu)造方法。 Matrix()/
15、構(gòu)造一個(gè)1010個(gè)元素的矩陣,沒有數(shù)據(jù)Matrix(int n)/構(gòu)造一個(gè)nn 個(gè)元素的矩陣, 數(shù)據(jù)隨機(jī)產(chǎn)生 Matrix(int n,int m)/構(gòu)造一個(gè)nm個(gè)元素的矩陣, 數(shù)據(jù)隨機(jī)產(chǎn)生 Matrix(int table)/以一個(gè)整型的二維數(shù)組構(gòu)造一個(gè)矩陣 (2) 實(shí)例方法。public void output()/輸出Matrix類中數(shù)組的元素值public Matrix transpose/求一個(gè)矩陣的轉(zhuǎn)置矩陣 Public Boolean isTriangular /判斷一個(gè)矩陣是否為上三角矩陣 Public Boolean isSymmetry() /判斷一個(gè)矩陣是否為對稱矩陣 P
16、ublic void add(Matrix b)/將矩陣b與接受著對象相加,結(jié)果放在接受著對象中 用key-value對來填充一個(gè)HashMap,并按hash code排列輸出。 編寫一個(gè)方法,在方法中使用Iterator類遍歷Collection,并輸出此集合類中每個(gè)對象的 hashCode()值。用對象填充不同類型的Collection類對象,并將此方法應(yīng)用于每一種 Collection類對象。 /Matrix類 public class Matrix int array; Matrix() / 構(gòu)造一個(gè)10X10個(gè)元素的矩陣,沒有數(shù)據(jù) array = new int1010; Matri
17、x(int n) / /構(gòu)造一個(gè)nn個(gè)元素的矩陣,數(shù)據(jù)隨機(jī)產(chǎn)生 array = new intnn; for (int i = 0; i n; i+) for (int j = 0; j n; j+) arrayij = (int) (Math.random() * 10); Matrix(int n, int m) / 構(gòu)造一個(gè)n*m個(gè)元素的矩陣,數(shù)據(jù)隨機(jī)產(chǎn)生 array = new intnm; for (int i = 0; i n; i+) for (int j = 0; j m; j+) arrayij = (int) (Math.random() * 10); Matrix(int
18、 table) / 以一個(gè)整型的二維數(shù)組構(gòu)造一個(gè)矩陣 array = table; public void output() / 輸出Matrix類中數(shù)組的元素值 for (int i = 0; i array.length; i+) for (int j = 0; j array0.length; j+) System.out.print(arrayij + ); System.out.println(); public void transpose() / 輸出一個(gè)矩陣的轉(zhuǎn)置矩陣 for (int i = 0; i array0.length; i+) for (int j = 0; j
19、array.length; j+) System.out.print(arrayji + ); System.out.println(); public boolean isTriangular() / 判斷一個(gè)矩陣是否為上三角矩陣 boolean flag = true; for (int i = 0; i array.length; i+) for (int j = 0; j j) return flag; public boolean isSymmetry() / 判斷一個(gè)矩陣是否為對稱矩陣 boolean Symmetry = true; for (int i = 0; i array.length; i+) for (int j = i; j array0.length; j+) if (arrayij = arrayji) Symmetry = false; return Symmetry; public void add(Matrix b) / 將矩陣b與接受著對象相加,結(jié)果放在接受著對 象中 for (int i = 0; i array.length; i+) for (int j = 0; j array0.length; j+) this.arrayij = arrayij + b.arrayi
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度光伏發(fā)電項(xiàng)目風(fēng)險(xiǎn)管理及保險(xiǎn)合同
- 2025年度二零二五年度旅游景區(qū)旅游住宿設(shè)施合作開發(fā)協(xié)議
- 2025年度房東與大房東商務(wù)樓宇租賃及物業(yè)管理協(xié)議2篇
- 2025年度房地產(chǎn)項(xiàng)目智能家居系統(tǒng)開發(fā)與運(yùn)營合同
- 2025年度大型水利工程建設(shè)項(xiàng)目合作協(xié)議2篇
- 2025年度大棚種植與農(nóng)業(yè)科技園區(qū)合作協(xié)議3篇
- 2025年度電子商務(wù)平臺合作伙伴委托招商加盟協(xié)議3篇
- 2025年度倉儲物流雨棚安裝與倉儲服務(wù)合同3篇
- 2025年度房產(chǎn)買賣合同代簽服務(wù)合同3篇
- 2025年度城市基礎(chǔ)設(shè)施建設(shè)與智慧化改造合作協(xié)議3篇
- 醫(yī)藥行業(yè)合規(guī)培訓(xùn)
- 2024年低壓電工資格考試必考題庫及答案(共400題)
- 【MOOC】公司金融-江西財(cái)經(jīng)大學(xué) 中國大學(xué)慕課MOOC答案
- 世界衛(wèi)生組織人類精液及精子-宮頸粘液相互作用實(shí)驗(yàn)室檢驗(yàn)手冊第五版
- 殯儀館鮮花采購?fù)稑?biāo)方案(技術(shù)方案)
- 招商會會議流程綱要
- 安全生產(chǎn)工作年終總結(jié)
- 2024-2025學(xué)年人教版七年級英語上冊各單元重點(diǎn)句子
- 消化道大出血應(yīng)急預(yù)案演練
- 光伏項(xiàng)目達(dá)標(biāo)投產(chǎn)實(shí)施細(xì)則-施工
- 信息技術(shù)行業(yè)數(shù)據(jù)安全HSE方案
評論
0/150
提交評論