实验四 Java语言面向对象基础编程Word文件下载.docx
- 文档编号:18993295
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:20
- 大小:250.82KB
实验四 Java语言面向对象基础编程Word文件下载.docx
《实验四 Java语言面向对象基础编程Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验四 Java语言面向对象基础编程Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
boo=true;
//给boo赋值。
}else{
boo=false;
}
doublegetLength(){
returnsideA+sideB+sideC;
//方法体,要求计算出length的值并返回
//计算三角形的面积
publicdoublegetArea(){
if(boo){
doublep=(sideA+sideB+sideC)/2.0;
area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
returnarea;
System.out.println("
不是一个三角形,不能计算面积"
);
return0;
publicvoidsetABC(doublea,doubleb,doublec){
sideA){//a,b,c构成三角形的条件表达式
boo=true;
}else{
boo=false;
//定义一个梯形类
classLader{
doubleabove,bottom,height,area;
Lader(doublea,doubleb,doubleh){
above=a;
//方法体,将参数a,b,c分别赋值给above,bottom,height
bottom=b;
height=h;
doublegetArea(){
return(above+bottom)*height/2.0;
//方法体,,要求计算出area返回
//定义一个圆类
classCircle{
doubleradius,area;
Circle(doubler){
radius=r;
//方法体
doublegetArea(){
returnMath.PI*Math.pow(radius,2);
//方法体,要求计算出area返回
return2*Math.PI*radius;
//getArea方法体的代码,要求计算出length返回
voidsetRadius(doublenewRadius){
radius=newRadius;
doublegetRadius(){
returnradius;
publicclassshiyan4_1{
publicstaticvoidmain(Stringargs[]){
doublelength,area;
Circlecircle=null;
Trangletrangle;
Laderlader;
circle=newCircle(3);
//创建对象circle
trangle=newTrangle(6,5,2);
//创建对象trangle。
lader=newLader(8,9,6);
//创建对象lader
length=circle.getLength();
//circle调用方法返回周长并赋值给length
圆的周长:
"
+length);
area=circle.getArea();
//circle调用方法返回面积并赋值给area
圆的面积:
+area);
length=trangle.getLength();
//trangle调用方法返回周长并赋值给length
三角形的周长:
area=trangle.getArea();
//trangle调用方法返回面积并赋值给area
三角形的面积:
area=lader.getArea();
//lader调用方法返回面积并赋值给area
梯形的面积:
trangle=newTrangle(12,34,1);
//trangle调用方法设置三个边,要求将三个边修改为12,34,1。
2.实例成员与类成员的使用。
按程序模板的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果。
classA{
floata;
staticfloatb;
voidsetA(floatA){
a=A;
voidsetB(floatB){
b=B;
floatgetA(){
returna;
floatgetB(){
returnb;
voidoutputA(){
System.out.println(a);
staticvoidoutputB(){
System.out.println(b);
}
publicclassshiyan4_2{
@SuppressWarnings("
static-access"
)
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
A.b=100;
A.outputB();
Acat=newA();
Adog=newA();
cat.setA(200);
cat.setB(400);
dog.setA(150);
dog.setB(300);
cat.outputA();
cat.outputB();
dog.outputA();
dog.outputB();
3.方法中参数传递的练习
在其它语言中,函数调用或过程调用时参数有传值调用和传地址调用之分。
在Java中,方法中的参数传递可以分为传值调用或对象方法调用等方式。
传值调用即传递的参数是基本数据类型,调用方法时在方法中将不能改变参数的值,这意味着只能使用它们。
对象调用是指先调用对象,再调用对象的方法,这种方式可以修改允许存取的成员变量。
所以,如果不想改变参数的值,可以采用传值调用的方法。
如果想改变参数的值,可采用对象调用的方法,间接修改参数的值。
(1)编写一个传值调用的程序文件SY3_3.java。
程序功能:
程序首先给整型变量x和y赋一个初值10,然后使用传值调用方式调用方法ff1对x和y做乘方及输出x和y的乘方值,最后再输出x和y的乘方值。
publicclassshiyan4_3{
intx=10,y=10;
swap(x,y);
System.out.println("
x="
+x+"
y="
+y);
staticvoidswap(intpassX,intpassY){
passX=passX*passX;
passY=passY*passY;
passX="
+passX+"
passY="
+passY);
(2)编写一个调用对象方法的程序文件SY3_4.java。
publicclassshiyan4_4{
Powerp=newPower();
p.swap(p.x,p.y);
方法调用后x="
+p.x+"
+p.y);
classPower{
intx=10,y=10;
voidswap(intpassX,intpassY){
初始时x="
x=passX*passX;
y=passY*passY;
方法调用中x="
4.定义一个名为MyRectangle的矩形类,类中有4个私有的整型域,分别是矩形的左上角坐标(xUp,yUp)和右下角坐标(xDown,yDown);
类中定义没有参数的构造方法和有4个int参数的构造方法,用来初始化类对象。
类中还有以下方法:
getW()——计算矩形的宽度;
getH()——计算矩形的高度;
area()——计算矩形的面积;
toString()——把矩形的宽、高和面积等信息作为为字符串返回。
编写应用程序使用MyRectangle类。
classMyRectangle
{
privateintxUp,yUp;
privateintxDown,yDown;
publicMyRectangle(){
xUp=yUp=xDown=yDown=0;
publicMyRectangle(intxu,intyu,intxd,intyd){
xUp=xu;
yUp=yu;
xDown=xd;
yDown=yd;
publicintgetW(){
returnMath.abs(xUp-xDown);
publicintgetH(){
returnMath.abs(yUp-yDown);
publicintarea(){
returnthis.getW()*this.getH();
publicStringtoString(){
StringtempStr="
width="
+this.getW()+"
height="
+this.getH()+"
area="
+this.area();
returntempStr;
publicclassshiyan4_5{
MyRectangletempRec1=newMyRectangle();
MyRectangletempRec2=newMyRectangle(-1,5,4,7);
Thisfirstrectangleinformation"
+tempRec1.toString());
Thissecondrectangleinformation"
+tempRec2.toString());
5.请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face和suit:
face描述一张牌的牌面值(如:
Ace"
"
Deuce"
Three"
"
Four"
Five"
Six"
Seven"
Eight"
Nine"
Ten"
Jack"
Queen"
King"
);
suit描述一张牌的花色(如:
Hearts"
Diamonds"
Clubs"
Spades"
)。
定义Card类中的public访问权限的构造方法,为类中的变量赋值;
定义protected访问权限的方法getFace(),得到扑克牌的牌面值;
定义protected访问权限的方法getSuit(),得到扑克牌的花色;
定义方法toString(),返回表示扑克牌的花色和牌面值字符串(如“AceofHearts”、“TenofClubs”等)。
classCard
privateStringface;
privateStringsuit;
publicCard(Stringf,Strings){
face=f;
suit=s;
protectedStringgetFace(){
returnface;
protectedStringgetSuit(){
returnsuit;
returnface+"
of"
+suit;
publicclassshiyan4_6{
Cardcard1=newCard("
Cardcard2=newCard("
System.out.println(card1.toString());
System.out.println(card2.toString());
6.设计一个Worker类,其成员变量有:
身份证号、姓名、性别、年龄、入职时间、工资/月、奖金/月、加班费/月、电话费/月、生活费/月、交通费/月、房租/月;
用构造方法进行初始化;
其他成员方法:
输出工人信息的方法(包括输出净收入),当某个信息没有被赋值(初始化)时,输出信息为“未知”;
计算总收入的方法,总收入中要考虑扣除国家现行的个人所得税法规定的税金;
计算总支出的方法。
classWorker
privateStringnumber;
privateStringname;
privateStringsex;
privateintage;
privateStringentry;
privatedoublesalary;
privatedoublebonus;
privatedoubleovertimeMoney;
privatedoublephoneMoney;
privatedoubleliveMoney;
privatedoubletrafficMoney;
privatedoublerent;
publicWorker()
{
number=name=sex=entry="
;
age=0;
salary=bonus=overtimeMoney=phoneMoney=liveMoney=trafficMoney=rent=0;
publicWorker(Stringnum,Stringnam,Stringse,intag,Stringent,doublesal,doublebon,doubleove,doublepho,doubleliv,doubletra,doubleren)
number=num;
name=nam;
sex=se;
age=ag;
entry=ent;
salary=sal;
bonus=bon;
overtimeMoney=ove;
phoneMoney=pho;
liveMoney=liv;
trafficMoney=tra;
rent=ren;
publicvoidshowInfo(){
if(number.equals("
)){
System.out.println("
δ֪"
}else{
System.out.println(number+"
memberinfomationlist:
System.out.println(name);
System.out.println(sex);
System.out.println(age);
System.out.println(entry);
doublemoney=salary+bonus+overtimeMoney-phoneMoney-liveMoney-trafficMoney-rent;
System.out.println(money);
}
publicclassshiyan4_7
publicstaticvoidmain(String[]args)
Workerworker1=newWorker();
Workerworker2=newWorker("
0715646"
leafspace"
women"
22,"
20160901"
5000,500,1200,50,800,150,1500);
worker1.showInfo();
worker2.showInfo();
7.设计一个汽车Car类,其成员变量有:
商标、型号、系列、箱式(三厢、两厢)、颜色、出厂日期、门数、排量、价格、可优惠价、百公里耗油量、最高时速、最大功率、最大扭矩、加速时间、刹车距离;
输出汽车信息的方法,当某个信息没有被赋值(初始化)时,输出信息为“未知”;
计算行驶一定距离总耗油量,以及给定油价计算燃油费用的方法。
classCar
privateStringlogo;
privateStringmodel;
privateStringseries;
privateStringboxN;
privateStringcolor;
privateStringoutDate;
privateintdoorN;
privatelongoutN;
privatedoubleprice;
privatedoublesellprice;
privatedoubleoil;
privateintspeed;
privatedoublemaxpower;
privatedoublemaxspace;
privatedoubletime;
privatedoubletspace;
publicCar(Stringlog,Stringmod,Stringser,Stringbox,Stringcol,Stringoutd,
intdoorn,longoutn,doublepri,doublesell,doubleoi,intspe,doublemaxpo,doublemaxsp,doubletim,doubletsp){
logo=log;
model=mod;
series=ser;
boxN=box;
color=col;
outDate=outd;
doorN=doorn;
outN=outn;
price=pri;
sellprice=sell;
oil=oi;
speed=spe;
maxpower=maxpo;
maxspace=maxsp;
time=tim;
tspace=tsp;
System.ou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验四 Java语言面向对象基础编程 实验 Java 语言 面向 对象 基础 编程
![提示](https://static.bdocx.com/images/bang_tan.gif)