精选JAVA面向对象深入练习.docx

上传人:b****8 文档编号:28783399 上传时间:2023-07-19 格式:DOCX 页数:12 大小:17.79KB
下载 相关 举报
精选JAVA面向对象深入练习.docx_第1页
第1页 / 共12页
精选JAVA面向对象深入练习.docx_第2页
第2页 / 共12页
精选JAVA面向对象深入练习.docx_第3页
第3页 / 共12页
精选JAVA面向对象深入练习.docx_第4页
第4页 / 共12页
精选JAVA面向对象深入练习.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

精选JAVA面向对象深入练习.docx

《精选JAVA面向对象深入练习.docx》由会员分享,可在线阅读,更多相关《精选JAVA面向对象深入练习.docx(12页珍藏版)》请在冰豆网上搜索。

精选JAVA面向对象深入练习.docx

精选JAVA面向对象深入练习

精选JAVA面向对象深入练习

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

猜数字游戏:

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

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

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

等于则提示猜测成功。

publicclassA{

intv=100;

publicvoidcai(){

Scannersc=newScanner(System.in);

while(true){

System.out.println("请输入一个数");

inta=sc.nextInt();

if(a>this.v){

System.out.println("大了");

}elseif(a

System.out.println("小了");

}else{

System.out.println("猜中了");

break;

}

}

}

publicstaticvoidmain(String[]args){

Aa=newA();

a.cai();

}

}

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

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

属性:

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

方法:

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

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

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

publicclassVehicle{

intspeed;//速度

doublesize;//体积

//移动方法

publicvoidmove(){

System.out.println("正在以"+this.speed+"米/s移动了");

}

//setSpeed(intspeed)

publicvoidsetSpeed(intspeed){

this.speed=speed;

}

publicvoidsetSize(doublesize){

this.size=size;

}

publicvoidspeedUp(){

this.speed=this.speed+10;

System.out.println("加速");

}

publicvoidspeedDown(){

this.speed=this.speed-10;

System.out.println("正在减速");

}

publicstaticvoidmain(String[]args){

Vehiclevehicle=newVehicle();//实例化一个对象

vehicle.setSpeed(60);

vehicle.setSize(120.5);

vehicle.move();

vehicle.speedDown();

vehicle.move();

vehicle.speedUp();

vehicle.move();

}

}

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

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

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

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

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

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

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

为MyTime类添加以下方法:

addSecond(intsec)

addMinute(intmin)

addHour(inthou)

subSecond(intsec)

subMinute(intmin)

subHour(inthou)

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

publicclassMyTime{

privateinthour;//时

privateintminute;//分

privateintsecond;//秒

publicMyTime(inthour,intminute,intsecond){

this.hour=hour;

this.minute=minute;

this.second=second;

}

publicvoiddisplay(){

//超出标准时间范围

if(this.second>=60){

this.minute=this.minute+this.second/60;

this.second=this.second%60;

}

if(this.minute>=60){

this.hour=this.hour+this.minute/60;

this.minute=this.minute%60;

}

if(this.hour>=24){

this.hour=this.hour%24;

}

//出现负数的情况

if(this.second<0){

if(this.second%60==0){

this.minute=this.minute+this.second/60;

}else{

this.minute=this.minute+this.second/60-1;;

this.second=this.second%60+60;

}

}

if(this.minute<0){

if(this.minute%60==0){

this.hour=this.hour+this.minute/60;

}else{

this.hour=this.hour+this.minute/60-1;

this.minute=this.minute%60+60;

}

}

if(this.hour<0){

this.hour=24+this.hour%24;

}

System.out.println("时间是:

"+this.hour+"时,"+this.minute+"分,"+this.second+"秒");

}

publicvoidaddSecond(intsec){

this.second=this.second+sec;

if(this.second>60){

this.minute=this.minute+1;

this.second=this.second-60;

}

}

publicvoidaddMinute(intmin){

this.minute=this.minute+min;

if(this.minute>60){

this.hour=this.hour+1;

this.minute=this.minute-60;

}

}

publicvoidaddHour(inthou){

this.hour=this.hour+hou;

if(this.hour>24){

this.hour=this.hour-24;

}

}

publicvoidsubSecond(intsec){

this.second=this.second-sec;

if(this.second<0){

this.minute--;

this.second=this.second+60;

}

}

publicvoidsubMinute(intmin){

this.minute=this.minute-min;

if(this.minute<0){

this.hour--;

this.minute=this.minute+60;

}

}

publicvoidsubHour(inthou){

this.hour=this.hour-hou;

if(this.hour<0){

this.hour=this.hour+24;

}

}

publicstaticvoidmain(String[]args){

MyTimemt=newMyTime(23,59,59);

mt.addSecond

(1);

mt.display();

mt.subSecond(86401);

mt.display();

mt.addMinute(65);

mt.display();

}

}

【练习题】构造方法

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

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

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

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

publicclassNumber{

privateintn1;

privateintn2;

publicNumber(intn1,intn2){

this.n1=n1;

this.n2=n2;

}

//再为该类定义加(addition)、减(subtration)、

//乘(multiplication)、除(division)

publicvoidaddition(){

System.out.println("相加结果:

"+(this.n1+this.n2));

}

publicvoidsubtration(){

System.out.println("相减结果:

"+(this.n1-this.n2));

}

publicvoidmultiplication(){

System.out.println("相乘结果:

"+(this.n1*this.n2));

}

publicvoiddivision(){

System.out.println("相除结果:

"+(this.n1/this.n2));

}

publicstaticvoidmain(String[]args){

Numbernum=newNumber(400,42);

num.addition();

num.subtration();

num.multiplication();

num.division();

}

}

【练习题】构造方法:

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

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

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

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

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

publicclassPerson{

privateStringname;

privateintage;

publicPerson(Stringname,intage){

this.name=name;

this.age=age;

}

publicvoiddisplay(){

System.out.println("姓名"+name+"年龄"+age);

}

publicstaticvoidmain(String[]args){

Personm=newPerson("张三",24);

m.display();

}

}

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

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

提示:

假设有privateStringname;则有

publicvoidsetName(Stringname){

this.name=name;

}

publicStringgetName(){

returnthis.name;

}

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

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

classWuMingFen要求:

1.有三个属性:

面码:

StringtheMa粉的分量(两):

intquantity

是否带汤:

booleanlikeSoup

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

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

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

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

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

WuMingFenf3=newWuMingFen();

5.写一个普通方法:

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

即:

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

publicclassWuMingFen{

StringtheMa;

intquantity;

booleanlikeSoup;

publicWuMingFen(){

}

//对所有属性进行初始化的构造器

publicWuMingFen(StringtheMa,intquantity,booleanlikeSoup){

this.theMa=theMa;

this.quantity=quantity;

this.likeSoup=likeSoup;

}

publicWuMingFen(StringtheMa,intquantity){

this.theMa=theMa;

this.quantity=quantity;

}

publicvoidcheck(){

if(likeSoup){

System.out.println(theMa+quantity+"两,带汤");

}else{

System.out.println(theMa+quantity+"两,不带汤");

}

}

publicstaticvoidmain(String[]args){

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

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

WuMingFenf3=newWuMingFen();

f3.theMa="酸辣面";

f3.quantity=3;

f3.likeSoup=true;

f1.check();

f2.check();

f3.check();

}

}

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

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1