Java面向对象编程练习题.docx

上传人:b****0 文档编号:8966827 上传时间:2023-05-16 格式:DOCX 页数:42 大小:54.37KB
下载 相关 举报
Java面向对象编程练习题.docx_第1页
第1页 / 共42页
Java面向对象编程练习题.docx_第2页
第2页 / 共42页
Java面向对象编程练习题.docx_第3页
第3页 / 共42页
Java面向对象编程练习题.docx_第4页
第4页 / 共42页
Java面向对象编程练习题.docx_第5页
第5页 / 共42页
Java面向对象编程练习题.docx_第6页
第6页 / 共42页
Java面向对象编程练习题.docx_第7页
第7页 / 共42页
Java面向对象编程练习题.docx_第8页
第8页 / 共42页
Java面向对象编程练习题.docx_第9页
第9页 / 共42页
Java面向对象编程练习题.docx_第10页
第10页 / 共42页
Java面向对象编程练习题.docx_第11页
第11页 / 共42页
Java面向对象编程练习题.docx_第12页
第12页 / 共42页
Java面向对象编程练习题.docx_第13页
第13页 / 共42页
Java面向对象编程练习题.docx_第14页
第14页 / 共42页
Java面向对象编程练习题.docx_第15页
第15页 / 共42页
Java面向对象编程练习题.docx_第16页
第16页 / 共42页
Java面向对象编程练习题.docx_第17页
第17页 / 共42页
Java面向对象编程练习题.docx_第18页
第18页 / 共42页
Java面向对象编程练习题.docx_第19页
第19页 / 共42页
Java面向对象编程练习题.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java面向对象编程练习题.docx

《Java面向对象编程练习题.docx》由会员分享,可在线阅读,更多相关《Java面向对象编程练习题.docx(42页珍藏版)》请在冰点文库上搜索。

Java面向对象编程练习题.docx

Java面向对象编程练习题

【练习题】01.类的成员变量:

猜数字游戏:

一个类A有一个成员变量v,有一个初值100。

定义一个类,对A类的成员变量v进行猜。

如果大了则提示大了,小了则提示小了。

等于则提示猜测成功。

importjava.util.*;

classA{

intv=100;

A(){

this.v=v;

}

}

publicclassb01

{

publicstaticvoidmain(Stringargs[]){

Aa=newA();

Scannerintput=newScanner(System.in);

intintputvalue=intput.nextlnt();

if(intputvalue>a.v)

System.out.println("你的输入大于这个值");

if(intputvalue

System.out.println("你的输入小于这个值");

if(intputvalue==a.v)

System.out.println("猜测成功");

}

}

【练习题】02.类的成员变量:

请定义一个交通工具(Vehicle)的类,其中有:

属性:

速度(speed),体积(size)等等

方法:

移动(move()),设置速度(setSpeed(intspeed)),加速speedUp(),减速speedDown()等等.

最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。

另外,调用加速,减速的方法对速度进行改变。

classVehicle

{intspeed;

intsize;

voidmove(){

};

voidsetSpeed(intspeed){

this.speed=speed;

}

voidspeedUp(){

speed=speed+1;

this.speed=speed;

}

voidspeedDown(){

speed=speed-1;

this.speed=speed;

}

}

publicclassb01

{publicstaticvoidmain(Stringargs[]){

Vehiclea=newVehicle();

a.setSpeed(55);

a.size=80;

a.speedUp();

System.out.println("Speed:

"+a.speed+"\nsize:

"+a.size);

}

}

【练习题】03.类的成员变量与方法、构造方法

在程序中,经常要对时间进行操作,但是并没有时间类型的数据。

那么,我们可以自己实现一个时间类,来满足程序中的需要。

定义名为MyTime的类,其中应有三个整型成员:

时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。

为MyTime类定义构造方法,以方便创建对象时初始化成员变量。

再定义diaplay方法,用于将时间信息打印出来。

为MyTime类添加以下方法:

addSecond(intsec)

addMinute(intmin)

addHour(inthou)

subSecond(intsec)

subMinute(intmin)

subHour(inthou)

分别对时、分、秒进行加减运算。

classMyTime

{

privateinthour;

privateintminute;

privateintsecond;

publicMyTime(inthour,intminute,intsecond){

this.hour=hour;

this.minute=minute;

this.second=second;

}

voiddiaplay(){

System.out.println("时间:

"+hour+":

"+minute+":

"+second

);

}

voidaddSecond(intsec){

second=second+sec;

}

voidaddMinute(intmin){

minute=minute+min;

}

voidaddHour(inthou){

hour=hour+hou;

}

voidsubSecond(intsec){

second=second-sec;

}

voidsubMinute(intmin){

minute=minute-min;

}

voidsubHour(inthou){

hour=hour-hou;

}

voidTest(){

if(hour<=23&hour>=0&minute<=59&minute>=0&second<=59&second>=0)

System.out.println("\nTrue\n");

else

System.out.println("\nFalse\n");

}

}

publicclassb01

{

publicstaticvoidmain(Stringargs[]){

MyTimeb=newMyTime(11,4,55);

b.subHour(5);

b.subMinute(5);

b.subSecond

(2);

b.diaplay();

b.Test();

}

}

【练习题】04.构造方法

编写Java程序,模拟简单的计算器。

定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。

编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。

在main方法中创建Number类的对象,调用各个方法,并显示计算结果。

classNumber

{

privateintn1;

privateintn2;

publicNumber(intn1,intn2){

this.n1=n1;

this.n2=n2;

}

voidaddition(){

intequal=n1+n2;

System.out.println("n1+n2="+equal);

}

voidsubtration(){

intequal=n1-n2;

System.out.println("n1-n2="+equal);

}

voidmultiplication(){

intequal=n1*n2;

System.out.println("n1*n2="+equal);

}

voiddivision(){

intequal=n1/n2;

System.out.println("n1/n2="+equal);

}

}

publicclassb01

{

publicstaticvoidmain(Stringargs[]){

Numbernum=newNumber(6,3);

num.division();

}

}

【练习题】05.构造方法:

编写Java程序,用于显示人的和年龄。

定义一个人类(Person),该类中应该有两个私有属性,(name)和年龄(age)。

定义构造方法,用来初始化数据成员。

再定义显示(display)方法,将和年龄打印出来。

在main方法中创建人类的实例,然后将信息显示。

classPerson

{

privateStringname;

privateintage;

publicPerson(Stringname,intage){

this.name=name;

this.age=age;

}

voiddisplay(){

System.out.println("——>"+name+"\n年龄——>"+age);

}

}

publicclassb01

{

publicstaticvoidmain(Stringargs[]){

Personper=newPerson("奥巴马",20);

per.display();

}

}

【练习题】06.get方法和set方法

定义一个类,该类有一个私有成员变量,通过构造方法将其进行赋初值,并提供该成员的getXXX()和setXXX()方法

提示:

假设有privateStringname;则有

publicvoidsetName(Stringname){

this.name=name;

}

publicStringgetName(){

returnthis.name;

}

classPerson

{

privateStringname;

publicPerson(Stringn){

this.setName(n);

}

publicvoidsetName(Stringn){

name=n;

}

publicStringgetName(){

returnname;

}

publicvoidgetInfo(){

System.out.println("名字:

"+name);

}

}

publicclassb01

{

publicstaticvoidmain(Stringargs[]){

Personper=newPerson("奥巴马");

per.getName();

per.getInfo();

}

}

【练习题】07.构造方法与重载

为“无名的粉”写一个类:

classWuMingFen要求:

1.有三个属性:

面码:

StringtheMa粉的分量(两):

intquantity

是否带汤:

booleanlikeSoup

2.写一个构造方法,以便于简化初始化过程,如:

WuMingFenf1=newWuMingFen("牛肉",3,true);

3.重载构造方法,使得初始化过程可以多样化:

WuMingFenf2=newWuMingFen("牛肉",2);

4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的?

WuMingFenf3=newWuMingFen();

5.写一个普通方法:

check(),用于查看粉是否符合要求。

即:

将对象的三个属性打印在控制台上。

classWuMingFen

{

StringtheMa;

intquantitu;

booleanlikeSoup;

publicWuMingFen(){

}

publicWuMingFen(StringtheMa,intquantitu){

this.theMa=theMa;

this.quantitu=quantitu;

}

publicWuMingFen(StringtheMa,intquantitu,booleanlikeSoup){

this(theMa,quantitu);

this.likeSoup=likeSoup;

}

publicvoidcheck(){

System.out.println("面码:

"+theMa+"\n粉的份量:

"+quantitu+"\n是否带汤:

"+likeSoup);

}

}

publicclassb01

{

publicstaticvoidmain(Stringargs[]){

WuMingFenf1=newWuMingFen("牛肉",3,true);

WuMingFenf2=newWuMingFen("牛肉",2);

WuMingFenf3=newWuMingFen();

f1.check();

f2.check();

f3.check();

}

}

【练习题】08.构造方法的重载:

定义一个名为Vehicles(交通工具)的基类,该类中应包含String类型的成员属性brand(商标)和color(颜色),还应包含成员方法run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。

编写Car(小汽车)类继承于Vehicles类,增加int型成员属性seats(座位),还应增加成员方法showCar(在控制台显示小汽车的信息),并编写构造方法。

编写Truck(卡车)类继承于Vehicles类,增加float型成员属性load(载重),还应增加成员方法showTruck(在控制台显示卡车的信息),并编写构造方法。

在main方法中测试以上各类。

classVehicles

{

privateStringbrand;

privateStringcolor;

publicVehicles(Stringbrand,Stringcolor){

this.brand=brand;

this.color=color;

}

voidrun(){

System.out.println("我已经开动了");

}

voidshowInfo(){

System.out.println("商标:

"+brand+"\n颜色:

"+color);

}

}

classCarextendsVehicles

{

privateintseats;

publicCar(Stringbrand,Stringcolor,intseats){

super(brand,color);

this.seats=seats;

}

voidshowCar(){

super.showInfo();

System.out.println("座位:

"+seats);

}

}

classTruckextendsVehicles{

privatefloatload;

publicTruck(Stringbrand,Stringcolor,floatload){

super(brand,color);

this.load=load;

}

voidshowTruck(){

super.showInfo();

System.out.println("载重:

"+load);

}

}

publicclassb01

{

publicstaticvoidmain(Stringargs[]){

Vehiclesf1=newVehicles("宝马","白色");

Carf2=newCar("法拉利","黑色",4);

Truckf3=newTruck("解放","绿色",5000);

f1.run();

f1.showInfo();

f2.run();

f2.showCar();

f3.run();

f3.showTruck();

}

}

【练习题】09.构造方法与重载

定义一个网络用户类,要处理的信息有用户ID、用户密码、email地址。

在建立类的实例时,把以上三个信息都作为构造函数的参数输入,其中用户ID和用户密码时必须的,缺省的email地址是用户ID加上字符串"gameschool."

classNetUser

{

privateStringID;

privateStringkey;

privateStringemailDress;

publicNetUser(StringID,Stringkey){

this.ID=ID;

this.key=key;

this.emailDress=ID+"gameschool.";

}

voidoutput(){

System.out.println("ID:

"+ID+"\n用户密码"+key+"\n用户地址"+emailDress);

}

}

publicclassb01

{

publicstaticvoidmain(Stringargs[]){

NetUseruser=newNetUser("5566","yan");

user.output();

}

}

【练习题】10.构造方法与重载、包

编写Addition类,该类中应包含一组实现两数相加运算的重载方法。

实现加法运算的方法,应接受两个参数(即加数和被加数),方法将两个参数进行加法运算后,返回相加结果。

考虑可能针对不同的数据类型进行计算,重载一组方法,包括整型、长整型、浮点型、双精度浮点型、还有字符串。

在main方法中创建Addition类的实例,分别调用重载方法测试其效果。

应将Addition类打入到包中,以自己名字的拼音为包命名。

packageyan.cong;

classAddition{

publicAddition(){

}

voidadd(inta,intb){

intc=a+b;

System.out.println("a+b="+c);

}

voidadd(longa,longb){

longc=a+b;

System.out.println("a+b="+c);

}

voidadd(floata,floatb){

floatc=a+b;

System.out.println("a+b="+c);

}

voidadd(doublea,doubleb){

doublec=a+b;

System.out.println("a+b="+c);

}

voidadd(Stringa,Stringb){

Stringc=a+b;

System.out.println("a+b="+c);

}

}

publicclassb01

{

publicstaticvoidmain(Stringargs[]){

Additionm=newAddition();

Additionn=newAddition();

m.add(5,6);

n.add("hello","world");

}

}

【练习题】11.构造方法与重载

将上次练习题三中编写的MyTime类打到以自己名字的拼音命名的包中,并为该类重载一组构造方法,以方便使用者能够以多种形式初始化该类的实例。

packageyan.cong;

classMyTime

{

privateinthour;

privateintminute;

privateintsecond;

publicMyTime(inthour,intminute,intsecond){

this.hour=hour;

this.minute=minute;

this.second=second;

}

publicMyTime(intminute,intsecond){

this.minute=minute;

this.second=second;

}

voiddiaplay(){

System.out.println("时间:

"+hour+":

"+minute+":

"+second

);

}

voidaddSecond(intsec){

second=second+sec;

}

voidaddMinute(intmin){

minute=minute+min;

}

voidaddHour(inthou){

hour=hour+hou;

}

voidsubSecond(intsec){

second=second-sec;

}

voidsubMinute(intmin){

minute=minute-min;

}

voidsubHour(inthou){

hour=hour-hou;

}

voidTest(){

if(hour<=23&hour>=0&minute<=59&minute>=0&second<=59&second>=0)

System.out.println("\nTrue\n");

else

System.out.println("\nFalse\n");

}

}

publicclassb01

{

publicstaticvoidmain(Stringargs[]){

MyTimeb=newMyTime(11,4,55);

b.subHour(5);

b.subMinute(5);

b.subSecond

(2);

b.diaplay();

b.Test();

}

}

【练习题】12.构造方法与重载

建立一个汽车类,包括轮胎个数,汽车颜色,车身重量等属性。

并通过不同的构造方法创建事例。

至少要求:

汽车能够加速,减速,停车。

要求:

命名规,代码体现层次,有友好的操作提示。

classCar

{

privateinttires;

privateStringcolor;

privateintload;

publicCar(inttires){

this.tires=tires;

System.out.println("轮胎个数:

"+tires);

}

publicCar(Stringcolor){

this.color=color;

System.out.println("汽车颜色:

"+color);

}

publicCar(inttires,Stringcolor,intload){

this(tires);

this.color=color;

System.out.println("汽车颜色:

"+color);

this.load=load;

System.out.println("汽车重量:

"+load);

}

voidupSpeed(){

System.out.printl

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2