




已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1. 設(shè)計(jì)一個(gè)名為figure的圖形軟件包(package)。包中包含三角形、矩形、圓三個(gè)類。要求:(1)每個(gè)類都要構(gòu)造方法并為成員設(shè)置get和set方法;(2)每個(gè)類都要有計(jì)算周長和面積的成員方法;(3)完成該軟件包后的編碼后,在另一個(gè)包的含有main方法的類中編寫代碼,分別使用圖形軟件包中的三個(gè)類,生成三個(gè)對(duì)象,并打印出其周長和面積。 *package figure;public class juxing/矩形的計(jì)算函數(shù)private double lenth,width;public juxing()lenth=0;width=0;public juxing (double x,double y)lenth=x;width=y;public void setLenth(double lenth)this.lenth=lenth;public double getLenth()return lenth;public void setWidth(double width)this.width=width;public double getWidth()return width; public double perimeter() return lenth*width; public double Area() return (lenth+width)*2; *package figure;import java.math.*;public class sanjiaoxing /三角形的計(jì)算函數(shù)private double side1;private double side2;private double side3;public sanjiaoxing()side1=0;side2=0;side3=0;public sanjiaoxing(double x,double y,double z)side1=x;side2=y;side3=z;public void setSide1(double side1)this.side1=side1;public double getSide1()return side1;public void setSide2(double side2)this.side2=side2;public double getSide2()return side2;public void setSide3(double side3)this.side3=side3;public double getSide3()return side3;public double perimeter()return side1+side2+side3;public double Area()double p=(side1+side2+side3)/2;return Math.sqrt(p*(p-side1)*(p-side2)*(p-side3);*package figure;import java.math.*;public class yuanxing /圓形的計(jì)算函數(shù)private double radius;public yuanxing()radius=0;public yuanxing(double x)radius=x;public void setRadius(double radius)this.radius=radius;public double getRadius()return radius;public double perimeter()return 2*Math.PI*radius;public double Area()return Math.PI*radius*radius;*package figure_show;import figure.juxing;import figure.sanjiaoxing;import figure.yuanxing;public class main public static void main(Stringargs)sanjiaoxing t=new sanjiaoxing(3,4,5);System.out.println(三角形的周長:+t.perimeter();System.out.println(三角形的面積:+t.Area();juxing r=new juxing(3,4);System.out.println(矩形的周長:+r.perimeter();System.out.println(矩形的面積:+r.Area();yuanxing c=new yuanxing(5);System.out.println(圓形的周長;+c.perimeter();System.out.println(圓形的面積:+c.Area();2. 設(shè)計(jì)一個(gè)教師類Teacher(屬于.sdkd包),要求:1) 屬性有編號(hào)(int no)、姓名(String name)、年齡(int age)、所屬學(xué)院(seminary),為這些屬性設(shè)置相應(yīng)的get和set方法。2) 為Teacher類重寫equals方法,要求:當(dāng)兩個(gè)教師對(duì)象的no相同時(shí)返回true。3) 重寫Teacher類的toString方法,通過該方法可以返回“編號(hào)為*、姓名為*、年齡為*的*學(xué)院老師”形式的字符串。4) 由多個(gè)Teacher對(duì)象所形成的數(shù)組可以以兩種方法排序(編號(hào)由低到高排序):1)使用Arrays.sort(Object a)方法;2)使用Arrays.sort(Object a, Comparator c)方法。5) 再定義一個(gè)類TeacherManagement(屬于cn.sd包),提供方法search,方法可以在一組給定的教師中,根據(jù)姓名(或年齡)返回等于指定姓名(或年齡)的教師的字符串信息,信息格式為:“編號(hào)為*、姓名為*、年齡為*的*學(xué)院老師”。如果沒有滿足條件的教師,則返回“沒有符合條件的教師”。6) 構(gòu)造main方法進(jìn)行測(cè)試。*package .sdkd;public class Teacher implements Comparableprivate int no;private String name;private int age;private String seminary; public Teacher(int no,String name,int age,String seminary) this.no=no; =name; this.age=age; this.seminary=seminary; public void setNo(int no) this.no=no; public int getNo() return no; public void setName(String name) =name; public String getName() return name; public void setAge(int age) this.age=age; public int getAge() return age; public void setSeminary(String seminary) this.seminary=seminary; public String getSeminary() return seminary; public boolean equals(Object o) boolean result=false; Teacher t = (Teacher)o; if(this.no=t.no) return true; return result; public String toString() return 編號(hào)為+getNo()+,姓名為+getName()+,年齡為+getAge()+的+getSeminary()+學(xué)院老師; /compareTo接口 public int compareTo(Object o) Teacher otherTea = (Teacher)o; if(nootherTea.no) return 1; return 0; package .sdkd;import java.util.Arrays;import cn.sd.*;public class main public static void main(String args) Teacher t1 = new Teacher(0001,白玉,28,信息); Teacher t2 = new Teacher(0002,李蘭馨,36,地科); Teacher t3 = new Teacher(0003,張成宇,40,材料); Teacher TeaArray = new Teacher3; TeaArray0 = new Teacher(1001,白玉,28,信息); TeaArray1 = new Teacher(1005,李蘭馨,42,地科); TeaArray2 = new Teacher(1003,張成宇,40,材料); System.out.println(t1.toString(); System.out.println(t2.toString(); System.out.println(t3.toString(); System.out.print(n); t1.setNo(t2.getNo(); System.out.println(*臨時(shí)修改教師t3的信息*); System.out.println(教師t1與教師t2是否相同?); System.out.println(t1.equals(t2); System.out.println(教師1與教師t3是否相同?); System.out.println(t1.equals(t3); System.out.print(n); System.out.println(按編號(hào)升序排列:); Arrays.sort(TeaArray); for(int i=0;iTeaArray.length;i+) System.out.print(編號(hào)為+TeaArrayi.getNo()+、姓名為+TeaArrayi.getName()+、年齡為+TeaArrayi.getAge()+的+TeaArrayi.getSeminary()+學(xué)院老師); System.out.println(); System.out.println(); System.out.println(年齡為28的教師的信息:); System.out.println(TeacherManagement.search(28,TeaArray); 4. 一個(gè)公司有三種不同類型的員工,他們的薪水分別按年(計(jì)算方法:年薪*工作年數(shù))、按月(計(jì)算方法:月薪*工作月數(shù))、按周(計(jì)算方法:周薪*工作周數(shù))結(jié)算。編寫類Company,提供計(jì)算所有員工總薪水的方法getEarnings,該方法能夠根據(jù)輸入的一組員工(包含各類員工)返回這組員工的總薪水。package pay;public class pay public int wages; public int day; public pay(int wages,int day) this.wages = wages; this.day = day; public pay() public int show() return wages*day; class pay_a extends pay public pay_a(int a,int b)wages = a;day = b; public pay_a() public int show() return (int)(double)day/365)*wages); class pay_b extends pay public pay_b(int a,int b) wages = a; day = b; public pay_b() public int show() return (int)(double)day/30)*wages); class pay_c extends paypublic pay_c(int a,int b) wages = a; day = b; public pay_c() public int show() return (int)(wages*day);*package pay;import pay.pay;import pay.pay_a;import pay.pay_b;import pay.pay_c;public class teat24 public static int getEarings(payp,int length)int sum=0;for(int i=0;ilength;i+)sum+=pi.show();return sum;public static void main(String args)pay pp = new pay5;pp0 = (new pay_a(8, 2000);pp0 = (pay_a)pp0; pp1 = new pay_b(2, 500);pp1 = (pay_b)pp1; pp2 = new pay_c(10, 15000);pp2 = (pay_c)pp2; pp3 = new pay_a(12, 5000);pp3 = (pay_a)pp3; pp4 = new pay_c(5, 1100);pp4 = (pay_c)pp4; int sum = getEarings(pp, 5);for(int i=0;i4;i+)System.out.println(第+i+個(gè)員工的薪水為:+ppi.show();System.out.println(員工的總薪水為:+sum);5. 編碼實(shí)現(xiàn)一個(gè)類:(1)提供一個(gè)靜態(tài)方法,可以將輸入的一個(gè)int數(shù)組按照從小到大的順序排列;(2)提供靜態(tài)方法,對(duì)排好序的數(shù)組使用折半查找(使用遞歸和非遞歸兩種形式分別實(shí)現(xiàn))查找某一個(gè)整數(shù)。package shiyaner5;import java.util.Scanner;public class myArray public static void sort(int a,int n) int temp; for(int i=0;in;i+) for(int j=0;jai) temp = aj; aj = ai; ai = temp; public static int BinarySearch(int array,int x,int n) int left = 0; int right = n-1; while(leftarraymiddle) left = middle+1; else right = middle-1; System.out.println(未找到!); return -1; public static void main(String args) int s = new int6,8,2,9,4,11,1,7,12,10; int n; Scanner scan = new Scanner(System.in); for(int i=0;i10;i+) System.out.print(si+ ); /排序 sort(s,10); System.out.println(); System.out.println(-); for(int i=0;i-1) e = arraytop; arraytop = null; top-; return e; public Object getTop() Object e = null; if(top-1) e = arraytop; return e; *package shiyaner6;import java.util.Scanner;public class main public static void main(String args) Stack stack = new Stack(32); Scanner scan = new Scanner(System.in); System.out.print(請(qǐng)輸入一個(gè)正整數(shù):); int n = scan.nextInt(); /測(cè)試Stack類 stack.push(n); System.out.println(輸出: + stack.getTop(); System.out.println(stack.isEmpty(); stack.pop(); System.out.println(stack.isEmpty(); /求一個(gè)正整數(shù)對(duì)應(yīng)的二進(jìn)制數(shù) while(n0) stack.push(n%2); n=n/2; System.out.println(-); while(!stack.isEmpty() System.out.print(stack.pop(); scan.close(); 7. 按照要求使用Java編碼。1) 以類型int聲明一個(gè)叫matrix的二維數(shù)組變量,將矩陣初始化為一個(gè)5個(gè)元素的數(shù)組。2) 以下列方式為matrix的內(nèi)部元素賦值:matrix從零開始循環(huán)到其長度值;例如索引為i,在每次迭代中,將matrixi指向一個(gè)新的整數(shù)數(shù)組,其長度為i。然后用索引變量j,對(duì)數(shù)組中的每一個(gè)元素進(jìn)行循環(huán)。在每次內(nèi)部循環(huán)中,將matrixij賦值為(i*j)。3) 通過循環(huán)打印matrix中的所有元素,結(jié)果為:package shiyaner7;public class Matrix private int matrix; Matrix() matrix = new int5; matrix0 = new int0; matrix1 = new int1; matrix2 = new int2; matrix3 = new int3; matrix4 = new int4; for(int i=0;i5;i+) for(int j=0;ji;j+) matrixij = i*j; public void print() for(int i=0;i5;i+) System.out.print(); for(int j=0;j); *package shiyaner7;public class main public static void main(String args) Matrix matrix = new Matrix(); matrix.print(); 8.利用二維數(shù)組(double)實(shí)現(xiàn)一個(gè)矩陣類:Matrix。要求提供以下方法:(1)set(int row, int col, double value):將第row行第col列的元素賦值為value;(2)get(int row,int col):取第row行第col列的元素;(3)width():返回矩陣的列數(shù);(4)height():返回矩陣的行數(shù);(5)Matrix add(Matrix b):返回當(dāng)前矩陣與矩陣b相加后的矩陣;(6)Matrix multiply(Matrix b):返回當(dāng)前矩陣與矩陣b相乘后的矩陣。(7)Matrix transpose():返回當(dāng)前矩陣的轉(zhuǎn)置矩陣;(8)print():以行和列的形式打印出當(dāng)前矩陣。package shiyaner8;public class Matrix double array; private int height;/行數(shù) private int width;/列數(shù) Matrix(int height,int width) this.height = height; this.width = width; array = new doubleheightwidth; public void set(int row,int vol,double value) arrayrowvol = value; public double get(int row,int vol) return arrayrowvol; public int height() return height; public int width() return width; public Matrix add(Matrix b) if(b.height()=height & b.width()=width) for(int i=0;iheight;i+) for(int j=0;jwidth;j+) arrayij = arrayij + b.get(i, j); return this; public Matrix multiply(Matrix b) Matrix c = new Matrix(b.width,this.height); if(this.height = b.width) int temp = 0; for(int i=0;ithis.height;i+) for(int j=0;jb.width;j+) for(int k=0;kthis.width;k+) temp += this.get(i, k)*b.get(k, j); c.set(i, j, temp); temp = 0; return c; public void print() for(int i=0;ithis.height;i+) for(int j=0;jthis.width;j+) System.out.print(this.get(i, j) + t); System.out.println(); public void Matrixtranspose()double b=new doubleheightwidth; for(int i=0;iwidth;i+) for (int j=0;jheight;j+) bji=arrayij; System.out.print(bji+t); if(i%(width-1)=0&i!=0) System.out.println(); *package shiyaner8;public class main public static void main(String args) Matrix ma = new Matrix(3,3); Matrix mb = new Matrix(3,3); Matrix mc = new Matrix(2,4); Matrix md = new Matrix(4,2); for(int i=0;i3;i+) for(int j=0;j3;j+) ma.set(i,j,1.0); for(int i=0;i3;i+) for(int j=0;j3;j+) mb.set(i,j,2.0); for(int i=0;i2;i+) for(int j=0;j4;j+) mc.set(i, j,(i+1)*(j+1); for(int i=0;i4;i+) for(int j=0;j2;j+) md.set(i, j, i+j+1); System.out.println(矩陣A:); ma.print(); System.out.println(矩陣A的行數(shù):+ma.height(); System.out.println(矩陣A的列數(shù):+ma.width(); System.out.println(矩陣A的轉(zhuǎn)置矩陣:); ma.Matrixtranspose(); System.out.println(-); System.out.println(矩陣B:); mb.print(); System.out.println(矩陣B的行數(shù):+mb.height(); System.out.println(矩陣B的列數(shù):+mb.width(); /測(cè)試矩陣的加法函數(shù) System.out.println(-); System.out.println(矩陣A、B相加:); ma.add(mb); ma.print(); System.out.println(-); System.out.println(矩陣C:); mc.print(); System.out.println(矩陣C的轉(zhuǎn)置矩陣:); mc.Matrixtranspose(); System.out.println(-); System.out.println(矩陣D:); md.print(); /矩陣乘法 System.out.println(-); System.out.println(矩陣C、D相乘:); mc.multiply(md).print(); 9 9. 利用隨機(jī)函數(shù)產(chǎn)生100個(gè)整數(shù)給一維數(shù)組賦值,然后輸入任意一個(gè)整數(shù),查找該整數(shù)是否在數(shù)組中存在,并統(tǒng)計(jì)出現(xiàn)次數(shù)。package shiyaner9;import java.util.Scanner;import java.math.*;public class random public static void main(Strin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中醫(yī)藥發(fā)展項(xiàng)目管理制度
- 吉林市事業(yè)單位管理制度
- 學(xué)校處分與學(xué)籍管理制度
- xxx公司培訓(xùn)管理制度
- 千島湖游覽碼頭管理制度
- 為啥會(huì)實(shí)行封閉管理制度
- mah產(chǎn)品發(fā)貨管理制度
- 為規(guī)范員工培訓(xùn)管理制度
- 公司員工內(nèi)部價(jià)管理制度
- 幼兒園班級(jí)自主管理制度
- 風(fēng)電項(xiàng)目達(dá)標(biāo)創(chuàng)優(yōu)規(guī)劃(終板)
- IPC-A-600G印制板驗(yàn)收標(biāo)準(zhǔn)(中文版)概論
- FIDIC設(shè)計(jì)建造與交鑰匙工程合同條件(橘皮書)
- 蒸發(fā)設(shè)備操作講解
- 空心玻璃微珠項(xiàng)目資金申請(qǐng)報(bào)告寫作模板+
- 東風(fēng)汽車零部件編碼規(guī)則
- CATIA在汽車底盤設(shè)計(jì)中的應(yīng)用
- 【簡譜】親愛的旅人啊簡譜
- 大理智能制造項(xiàng)目可行性研究報(bào)告模板
- 現(xiàn)代護(hù)理管理工具的應(yīng)用.ppt
- 上海市基本醫(yī)療保險(xiǎn)結(jié)算項(xiàng)目庫動(dòng)態(tài)維護(hù)細(xì)則
評(píng)論
0/150
提交評(píng)論