Java面向?qū)ο缶幊叹毩曨}答案_第1頁
Java面向?qū)ο缶幊叹毩曨}答案_第2頁
Java面向?qū)ο缶幊叹毩曨}答案_第3頁
Java面向?qū)ο缶幊叹毩曨}答案_第4頁
Java面向?qū)ο缶幊叹毩曨}答案_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上【練習題】01.類的成員變量:猜數(shù)字游戲:一個類A有一個成員變量v,有一個初值100。定義一個類,對A類的成員變量v進行猜。如果大了則提示大了,小了則提示小了。等于則提示猜測成功。import java.util.*;class A int v = 100; A() this.v = v; public class b01public static void main(String args)A a = new A();Scanner intput = new Scanner(System.in); int intputvalue = intput.nextlnt()

2、; if(intputvalue>a.v)System.out.println("你的輸入大于這個值");if(intputvalue<a.v)System.out.println("你的輸入小于這個值");if(intputvalue=a.v)System.out.println("猜測成功");【練習題】02.類的成員變量:請定義一個交通工具(Vehicle)的類,其中有:屬性:速度(speed),體積(size)等等方法:移動(move(),設置速度(setSpeed(int speed),加速speedUp(),減

3、速speedDown()等等.最后在測試類Vehicle中的main()中實例化一個交通工具對象,并通過方法給它初始化speed,size的值,并且通過打印出來。另外,調(diào)用加速,減速的方法對速度進行改變。class Vehicleint speed; int size; void move() ; void setSpeed(int speed) this.speed = speed; void speedUp() speed = speed+1; this.speed=speed; void speedDown() speed = speed-1; this.speed=speed; pub

4、lic class b01 public static void main(String args) Vehicle a = new Vehicle(); a.setSpeed(55);a.size = 80;a.speedUp();System.out.println("Speed:"+a.speed+"nsize:"+a.size); 【練習題】03.類的成員變量與方法、構造方法在程序中,經(jīng)常要對時間進行操作,但是并沒有時間類型的數(shù)據(jù)。那么,我們可以自己實現(xiàn)一個時間類,來滿足程序中的需要。定義名為MyTime的類,其中應有三個整型成員:時(hour)

5、,分(minute),秒(second),為了保證數(shù)據(jù)的安全性,這三個成員變量應聲明為私有。為MyTime類定義構造方法,以方便創(chuàng)建對象時初始化成員變量。再定義diaplay方法,用于將時間信息打印出來。為MyTime類添加以下方法:addSecond(int sec)addMinute(int min)addHour(int hou)subSecond(int sec)subMinute(int min)subHour(int hou)分別對時、分、秒進行加減運算。class MyTimeprivate int hour;private int minute;private int seco

6、nd;public MyTime(int hour,int minute,int second) this.hour = hour; this.minute = minute; this.second = second;void diaplay() System.out.println("時間:"+hour+":"+minute+":"+second); void addSecond(int sec) second = second+sec; void addMinute(int min) minute = minute+min; v

7、oid addHour(int hou) hour = hour+hou; void subSecond(int sec) second = second-sec; void subMinute(int min) minute = minute-min; void subHour(int hou) hour = hour-hou; void Test() if(hour<=23&hour>=0&minute<=59&minute>=0&second<=59&second>=0) System.out.println(&

8、quot;nTruen"); else System.out.println("nFalsen"); public class b01public static void main(String args) MyTime b = new MyTime(11,4,55); b.subHour(5); b.subMinute(5); b.subSecond(2); b.diaplay(); b.Test(); 【練習題】04.構造方法編寫Java程序,模擬簡單的計算器。定義名為Number的類,其中有兩個整型數(shù)據(jù)成員n1和n2,應聲明為私有。編寫構造方法,賦予n1和n

9、2初始值,再為該類定義加(addition)、減(subtration)、乘(multiplication)、除(division)等公有成員方法,分別對兩個成員變量執(zhí)行加、減、乘、除的運算。在main方法中創(chuàng)建Number類的對象,調(diào)用各個方法,并顯示計算結果。class Numberprivate int n1;private int n2;public Number(int n1,int n2) this.n1 = n1; this.n2 = n2;void addition() int equal = n1+n2; System.out.println("n1+n2=&quo

10、t;+equal);void subtration() int equal = n1-n2; System.out.println("n1-n2="+equal);void multiplication() int equal = n1*n2; System.out.println("n1*n2="+equal);void division() int equal = n1/n2; System.out.println("n1/n2="+equal);public class b01public static void main(St

11、ring args) Number num = new Number(6,3); num.division();【練習題】05.構造方法:編寫Java程序,用于顯示人的姓名和年齡。定義一個人類(Person),該類中應該有兩個私有屬性,姓名(name)和年齡(age)。定義構造方法,用來初始化數(shù)據(jù)成員。再定義顯示(display)方法,將姓名和年齡打印出來。在main方法中創(chuàng)建人類的實例,然后將信息顯示。class Personprivate String name;private int age; public Person(String name,int age) = n

12、ame;this.age = age;void display()System.out.println("姓名>"+name+"n年齡>"+age); public class b01public static void main(String args)Person per = new Person("奧巴馬",20);per.display();【練習題】06.get方法和set方法定義一個類,該類有一個私有成員變量,通過構造方法將其進行賦初值,并提供該成員的getXXX()和setXXX()方法提示:假設有priva

13、te String name;則有public void setName(String name) = name;public String getName()return ;class Personprivate String name;public Person (String n)this.setName(n);public void setName(String n) name = n ;public String getName()return name;public void getInfo()System.out.println("名

14、字:"+name);public class b01public static void main(String args)Person per = new Person("奧巴馬");per.getName();per.getInfo();【練習題】07.構造方法與重載為“無名的粉”寫一個類:class WuMingFen 要求:1.有三個屬性:面碼:String theMa 粉的分量(兩):int quantity 是否帶湯:boolean likeSoup2.寫一個構造方法,以便于簡化初始化過程,如:WuMingFen f1 = new WuMingFen(

15、"牛肉",3,true);3.重載構造方法,使得初始化過程可以多樣化:WuMingFen f2 = new WuMingFen("牛肉",2);4.如何使得下列語句構造出來的粉對象是酸辣面碼、2兩、帶湯的?WuMingFen f3 = new WuMingFen();5.寫一個普通方法:check(),用于查看粉是否符合要求。即:將對象的三個屬性打印在控制臺上。class WuMingFen String theMa; int quantitu; boolean likeSoup; public WuMingFen() public WuMingFen(

16、String theMa,int quantitu) this.theMa = theMa; this.quantitu = quantitu; public WuMingFen(String theMa,int quantitu,boolean likeSoup) this(theMa,quantitu); this.likeSoup = likeSoup; public void check() System.out.println("面碼:"+theMa+"n粉的份量:"+quantitu+"n是否帶湯:"+likeSoup);

17、 public class b01public static void main(String args)WuMingFen f1 = new WuMingFen("牛肉",3,true);WuMingFen f2 = new WuMingFen("牛肉",2);WuMingFen f3 = new WuMingFen();f1.check();f2.check();f3.check();【練習題】08.構造方法的重載:定義一個名為Vehicles(交通工具)的基類,該類中應包含String類型的成員屬性brand(商標)和color(顏色),還應包含成

18、員方法run(行駛,在控制臺顯示“我已經(jīng)開動了”)和showInfo(顯示信息,在控制臺顯示商標和顏色),并編寫構造方法初始化其成員屬性。編寫Car(小汽車)類繼承于Vehicles類,增加int型成員屬性seats(座位),還應增加成員方法showCar(在控制臺顯示小汽車的信息),并編寫構造方法。編寫Truck(卡車)類繼承于Vehicles類,增加float型成員屬性load(載重),還應增加成員方法showTruck(在控制臺顯示卡車的信息),并編寫構造方法。在main方法中測試以上各類。class Vehiclesprivate String brand;private String

19、 color;public Vehicles(String brand,String color)this.brand = brand;this.color = color; void run()System.out.println("我已經(jīng)開動了");void showInfo()System.out.println("商標:"+brand+"n顏色:"+color);class Car extends Vehicles private int seats; public Car(String brand,String color,

20、int seats)super(brand,color);this.seats = seats;void showCar()super.showInfo();System.out.println("座位:"+seats);class Truck extends Vehicles private float load; public Truck(String brand,String color,float load) super(brand,color); this.load = load; void showTruck() super.showInfo(); System

21、.out.println("載重:"+load); public class b01public static void main(String args) Vehicles f1 = new Vehicles("寶馬","白色"); Car f2 = new Car("法拉利","黑色",4); Truck f3 = new Truck("解放","綠色",5000); f1.run(); f1.showInfo(); f2.run(); f2.show

22、Car(); f3.run(); f3.showTruck();【練習題】09.構造方法與重載定義一個網(wǎng)絡用戶類,要處理的信息有用戶ID、用戶密碼、email地址。在建立類的實例時,把以上三個信息都作為構造函數(shù)的參數(shù)輸入,其中用戶ID和用戶密碼時必須的,缺省的email地址是用戶ID加上字符串""class NetUserprivate String ID;private String key;private String emailDress;public NetUser(String ID,String key) this.ID = ID; this.key = key

23、; this.emailDress = ID+""void output()System.out.println("ID:"+ID+"n用戶密碼"+key+"n用戶地址"+emailDress);public class b01public static void main(String args)NetUser user = new NetUser("5566","yan");user.output();【練習題】10.構造方法與重載、包編寫Addition類,該類中應包含

24、一組實現(xiàn)兩數(shù)相加運算的重載方法。實現(xiàn)加法運算的方法,應接受兩個參數(shù)(即加數(shù)和被加數(shù)),方法將兩個參數(shù)進行加法運算后,返回相加結果。考慮可能針對不同的數(shù)據(jù)類型進行計算,重載一組方法,包括整型、長整型、浮點型、雙精度浮點型、還有字符串。在main方法中創(chuàng)建Addition類的實例,分別調(diào)用重載方法測試其效果。應將Addition類打入到包中,以自己名字的拼音為包命名。package yan.cong; class Additionpublic Addition() void add(int a,int b)int c = a+b;System.out.println("a+b="

25、;+c); void add(long a,long b) long c = a+b;System.out.println("a+b="+c); void add(float a,float b)float c = a+b; System.out.println("a+b="+c); void add(double a,double b) double c = a+b; System.out.println("a+b="+c); void add(String a,String b) String c = a+b; System.ou

26、t.println("a+b="+c); public class b01public static void main(String args)Addition m = new Addition();Addition n = new Addition();m.add(5,6);n.add("hello","world");【練習題】11.構造方法與重載將上次練習題三中編寫的MyTime類打到以自己名字的拼音命名的包中,并為該類重載一組構造方法,以方便使用者能夠以多種形式初始化該類的實例。package yan.cong;class

27、MyTimeprivate int hour;private int minute;private int second;public MyTime(int hour,int minute,int second) this.hour = hour; this.minute = minute; this.second = second;public MyTime(int minute,int second) this.minute = minute; this.second = second;void diaplay() System.out.println("時間:"+ho

28、ur+":"+minute+":"+second); void addSecond(int sec) second = second+sec; void addMinute(int min) minute = minute+min; void addHour(int hou) hour = hour+hou; void subSecond(int sec) second = second-sec; void subMinute(int min) minute = minute-min; void subHour(int hou) hour = hour-

29、hou; void Test() if(hour<=23&hour>=0&minute<=59&minute>=0&second<=59&second>=0) System.out.println("nTruen"); else System.out.println("nFalsen"); public class b01public static void main(String args) MyTime b = new MyTime(11,4,55); b.subHour(5

30、); b.subMinute(5); b.subSecond(2); b.diaplay(); b.Test(); 【練習題】12.構造方法與重載建立一個汽車類,包括輪胎個數(shù),汽車顏色,車身重量等屬性。并通過不同的構造方法創(chuàng)建事例。 至少要求:汽車能夠加速,減速,停車。 要求:命名規(guī)范,代碼體現(xiàn)層次,有友好的操作提示。class Carprivate int tires;private String color;private int load; public Car(int tires)this.tires = tires;System.out.println("輪胎個數(shù):&quo

31、t;+tires);public Car(String color)this.color = color;System.out.println("汽車顏色:"+color);public Car(int tires,String color,int load)this(tires);this.color = color;System.out.println("汽車顏色:"+color);this.load = load;System.out.println("汽車重量:"+load);void upSpeed()System.out.

32、println("車正在加速");void downSpeed()System.out.println("車正在減速");void stop()System.out.println("車已經(jīng)停止了"); public class b01public static void main(String args)Car a = new Car(6);Car b = new Car(4,"白色",4000); a.upSpeed();b.stop();【練習題】13.構造方法與重載創(chuàng)建一個類,為該類定義三個構造函數(shù),分別執(zhí)

33、行下列操作: 1、傳遞兩個整數(shù)值并找出其中較大的一個值 2、傳遞三個double值并求出其乘積 3、傳遞兩個字符串值并檢查其是否相同 4、在main方法中測試構造函數(shù)的調(diào)用class Checkpublic Check(int a ,int b) int c=Math.max(a,b); System.out.println("較大值為:"+c);public Check(double a,double b,double c)double d = a*b*c;System.out.println("a*b*c = "+d);public Check(St

34、ring a,String b)boolean c = a.equals(b); System.out.println("兩字符串相等:"+c);public class b01public static void main(String args)Check m = new Check(4,8);Check n = new Check(3.3,4.2,4.0);Check p = new Check("ac","ab"); 【練習題】14.Static關鍵字與普通變量的區(qū)別:創(chuàng)建一個名稱為StaticDemo的類,并聲明一個靜態(tài)變量

35、和一個普通變量。對變量分別賦予10和5的初始值。在main()方法中輸出變量值。class StaticDemoprivate static int a=10;private int b=5;public String getInfo() return "a="+a+"nb="+b;public class b01public static void main(String args)StaticDemo m = new StaticDemo();System.out.println(m.getInfo();【練習題】15.繼承:創(chuàng)建一個名稱為MainP

36、ackage的包,使它包含MainClass和MainSubClass類。MainClass類應當包含變量聲明,其值從構造函數(shù)中輸出。MainSubClass類從MainClass派生而來。試執(zhí)行下列操作:創(chuàng)建一個名稱為SamePackage的類,使它導入上述包,并創(chuàng)建一個MainSubClass類的對象。package MainPackage; class MainClass String str; public MainClass(String str) this.str = str; System.out.println(str); class MainSubClass extends

37、MainClass public MainSubClass(String str) super(str); System.out.println("*"); import MainPackage.MainSubClass;class SamePackage MainSubClass b = new MainSubClass("a;ledkfjl");【練習題】16.包、繼承、構造函數(shù)創(chuàng)建一個名稱為MainPackage的包,使它包含MainClass和MainSubClass類。MainClass類應當包含變量聲明,其值從構造方法中輸出。MainSubC

38、lass類從MainClass派生而來。試執(zhí)行下列操作:創(chuàng)建一個名稱為SamePackage的類,使它導入上述包,并創(chuàng)建一個MainSubClass類的對象?!揪毩曨}】17.繼承:創(chuàng)建一個父類和子類,父類有一個數(shù)據(jù)成員,子類繼承父類的該數(shù)據(jù)成員,通過構造函數(shù)初始化并顯示該數(shù)據(jù)成員的值。class Fatherint a;public Father(int a) this.a = a;class Son extends Fatherpublic Son(int a)super(a);System.out.println("a="+a);public class b01publ

39、ic static void main(String args)Son e = new Son(4);【練習題】18.覆蓋、繼承建立一個汽車Auto類,包括輪胎個數(shù),汽車顏色,車身重量、速度等成員變量。并通過不同的構造方法創(chuàng)建實例。至少要求: 汽車能夠加速,減速,停車。 再定義一個小汽車類Car,繼承Auto,并添加空調(diào)、CD等成員變量,覆蓋加速,減速的方法、class Autoint tires;String color;int load;int speed; public Auto(int tires,String color,int load,int speed) this.tires

40、= tires; this.color = color; this.load = load; this.speed = speed;void upSpeed()System.out.println("加速了");void downSpeed()System.out.println("減速了");void stop()System.out.println("停車了");void getInfo()System.out.println("輪胎數(shù):"+tires+"n顏色:"+color+"

41、n車身重量:"+load+"n速度"+speed);class Car extends Autoboolean Aircondition; boolean CD; public Car(int tires,String color,int load,int speed,boolean Aircondition,boolean CD) super(tires,color,load,speed); this.Aircondition = Aircondition; this.CD = CD;void upSpeed()System.out.println("

42、開始加速了");void downSpeed()System.out.println("開始減速了");void getInfo()System.out.println("輪胎數(shù):"+tires+"n顏色:"+color+"n車身重量:"+load+"tn速度"+speed+"Km/hn有空調(diào):"+Aircondition+"n有CD:"+CD);public class b01public static void main(String arg

43、s)Car m = new Car(4,"白色",50,100,false,true);m.downSpeed();m.getInfo();【練習題】19.抽象類與繼承設計一個能細分為矩形、三角形、圓形和橢圓形的“圖形”類。使用繼承將這些圖形分類,找出能作為基類部分的共同特征(如校準點)和方法(如畫法、初始化),并看看這些圖形是否能進一步劃分為子類。本題只考慮實現(xiàn)思想,不考慮具體實現(xiàn)的細節(jié),實現(xiàn)方式可自由發(fā)揮。import java.awt.Point;abstract class Graph public Point center; public Graph(Point

44、center) this.center = center; public abstract void getInfo();class Rectangle extends Graphprivate int length;private int width;public Rectangle(Point center,int length,int width)super(center);this.length = length;this.width = width; public void getInfo()System.out.println("矩形:n"+"校準點:

45、"+center+"n矩形長度:"+length+"n矩形寬度:"+width);class Circle extends Graphprivate int radius;public Circle(Point center, int radius)super(center);this.radius = radius;public void getInfo()System.out.println("圓形:n"+"校準點:"+center+"n圓形半徑:"+radius);public

46、class b01public static void main(String args)Graph a = new Rectangle(new Point(8,8),4,7);a.getInfo();Graph b = new Circle(new Point(8,8),10);b.getInfo();【練習題】20.抽象類:創(chuàng)建一個Vehicle類并將它聲明為抽象類。在Vehicle類中聲明一個NoOfWheels方法,使它返回一個字符串值。創(chuàng)建兩個類Car和Motorbike從Vehicle類繼承,并在這兩個類中實現(xiàn)NoOfWheels方法。在Car類中,應當顯示“四輪車”信息;而在Mo

47、torbike類中,應當顯示“雙輪車”信息。創(chuàng)建另一個帶main方法的類,在該類中創(chuàng)建Car和Motorbike的實例,并在控制臺中顯示消息。 abstract class Vehicle public abstract String Noofwheels();class Car extends Vehicle int a; int b; public Car(int a,int b) this.a=a; this.b=b; public String Noofwheels() return "四輪車n載重:"+a+"n體積:"+b; class Mot

48、orbike extends Vehicleint c;int d;public Motorbike(int c,int d)this.c = c;this.d = d;public String Noofwheels()return "雙輪車n長度:"+c+"n高度:"+d;public class b01public static void main(String args)Vehicle m = new Car(88,44);System.out.println(m.Noofwheels();Vehicle n = new Motorbike(3,

49、4);System.out.println(n.Noofwheels(); 【練習題】21.抽象類:創(chuàng)建一個Vehicle類并將它聲明為抽象類。在Vehicle類中聲明一個NoOfWheels方法,使它返回一個字符串值。創(chuàng)建兩個類Car和Motorbike從Vehicle類繼承,并在這兩個類中實現(xiàn)NoOfWheels方法。在Car類中,應當顯示“四輪車”信息;而在Motorbike類中,應當顯示“雙輪車”信息。創(chuàng)建另一個帶main方法的類,在該類中創(chuàng)建Car和Motorbike的實例,并在控制臺中顯示消息。 【練習題】22.接口:創(chuàng)建一個名稱為Vehicle的接口,在接口中添加兩個帶有一個參數(shù)

50、的方法start()和stop()。在兩個名稱分別為Bike和Bus的類中實現(xiàn)Vehicle接口。創(chuàng)建一個名稱為interfaceDemo的類,在interfaceDemo的main()方法中創(chuàng)建Bike和Bus對象,并訪問start()和stop()方法。interface Vehiclepublic abstract String start(boolean a);public abstract String stop(boolean b);class Bike implements Vehiclepublic String start(boolean a) return a+"

51、車啟動了"public String stop(boolean b)return b+"車停止了"class Bus implements Vehiclepublic String start(boolean a) return a+"車啟動了"public String stop(boolean b)return b+"車停止了"public class interfaceDemo public static void main(String args)Bike m = new Bike();System.out.prin

52、tln("Biken"+m.start(false)+"n"+m.stop(true); Bus n = new Bus();System.out.println("Busn"+n.start(true)+"n"+n.stop(false);【練習題】23.接口:創(chuàng)建一個名稱為Vehicle的接口,在接口中添加兩個帶有一個參數(shù)的方法start()和stop()。在兩個名稱分別為Bike和Bus的類中實現(xiàn)Vehicle接口。創(chuàng)建一個名稱為interfaceDemo的類,在interfaceDemo的main()方法中

53、創(chuàng)建Bike和Bus對象,并訪問start()和stop()方法?!揪毩曨}】24.抽象類、繼承、接口綜合設計一個系統(tǒng):XXX門的實現(xiàn)過程:流程:設計一張抽象的門Door,那么對于這張門來說,就應該擁有所有門的共性,開門openDoor()和關門closeDoor();然后對門進行另外的功能設計,防盜-theftproof()、防水-waterproof()、防彈-bulletproof()、防火、防銹要求:利用繼承、抽象類、接口的知識設計該門abstract class Doorpublic abstract void openDoor();public abstract void close

54、Door();class realDoor extends Door public void openDoor() System.out.println("開門n"); public void closeDoor()System.out.println("關門n"); public void theftproof()System.out.println("防盜n"); public void waterproof()System.out.println("防水n"); public void bulletproof()System.o

溫馨提示

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

評論

0/150

提交評論