Java面向对象练习题
1.猜数字游戏:
一个类A有两个成员变量v、num,v有一个初值100。
定义一个方法guess,对A类的成员变量v,用num进行猜。
如果大了则提示大了,小了则提示小了。等于则提示猜测成功。
在main方法中测试
package hello.guess;
public class Guess {
// 创建属性
private int a = 100;
public static void main(String[] args) {
int num;
Guess g = new Guess();
num = 101;
g.game(num);
num = 99;
g.game(num);
num = 100;
g.game(num);
}
// 构造方法
public void guess() {
System.out.println("创建对象。。");
}
//书写方法
public void game(int num) {
if (num < a) {
System.out.println("猜的有点小了,小了多少不知道呢!!!");
System.out.println(num);
} else if (num > a) {
System.out.println("猜的有点大了,大了多少不知道呢!!!");
System.out.println(num);
} else {
System.out.println("猜对了");
System.out.println(num);
}
}
}
运行结果:

2.计算圆的面积和周长:
创建一个圆Circle类。为该类提供一个变量r表示半径,一个常量PI表示圆周率;
同时为该类提供两个方法:方法一用于求圆的面积,方法二用于求圆的周长;
为该类提供一个无参的构造方法,用于初始化r的值为4。
在main方法中测试。
package hello.circle; /**
* 2.创建一个圆Circle类。
* 为该类提供一个变量r表示半径,一个常量PI表示圆周率;
* 同时为该类提供两个方法:方法一用于求圆的面积,方法二用于求圆的周长;
* 为该类提供一个无参的构造方法,用于初始化r的值为4。
* 在main方法中测试。
*/
//创建一个圆Circle类
public class Circle { //为该类提供一个变量r表示半径,一个常量PI表示圆周率
public double r;
public final double PI = 3.14; //为该类提供一个无参的构造方法,用于初始化r的值为4。
public Circle() {
System.out.println("无参数的构造函数:为R赋值为 4 ---");
r = 4;
} //方法一用于求圆的面积
public void area() {
System.out.println(r);
System.out.println("圆的面积为:" + PI * r * r);
} //方法二用于求圆的周长
public void girth() {
System.out.println(r);
System.out.println("圆的周长为:" + 2 * PI * r);
} // main方法
public static void main(String[] args) { System.out.println("-----");
Circle c = new Circle();
System.out.println("-----"); c.area(); c.girth();
}
}
运行结果:

3.定义交通工具类型,控制速度
请定义一个交通工具(Vehicle)的类,其中有:
属性:速度(speed),车的类型(type)等等
方法:移动(move()),设置速度(setSpeed(double s)),加速speedUp(double s),减速speedDown(double s)等等.
最后在测试类Vehicle中的main()中实例化一个交通工具对象,
并通过构造方法给它初始化speed,type的值,并且打印出来。另外,调用加速,减速的方法对速度进行改变。
package hello.vehicle; /**
* 请定义一个交通工具(Vehicle)的类,其中有:
* 属性:速度(speed),车的类型(type)等等
* 方法:移动(move()),设置速度(setSpeed(double s)),加速speedUp(double s),减速speedDown(double s)等等.
* 最后在测试类Vehicle中的main()中实例化一个交通工具对象,
* 并通过构造方法给它初始化speed,type的值,并且打印出来。另外,调用加速,减速的方法对速度进行改变。
*/
public class Vehicle {
public double speed;
public String type; // 移动方法
public void move() {
System.out.println(type + " 速度 " + speed + " 迈----");
} // 设置速度方法
public void setSpeed(double s) {
speed = s;
} // 加速
public void speedUp(double num) {
speed += num;
} // 减速
public void speedDown(double num) {
if (speed >= num) {
speed -= num;
} else {
speed = 0;
}
} public Vehicle() {
speed = 70;
type = "凯迪拉克";
System.out.println(type + " 速度 " + speed + " 迈----");
} public static void main(String[] args) {
Vehicle v = new Vehicle();//创建对象 v.move(); v.setSpeed(80);// set速度为 80
v.move();
v.speedUp(50);//速度加50
v.move();
}
}
运行结果:

Java面向对象练习题的更多相关文章
- JAVA面向对象
JAVA面向对象 对象 我们生活中能看到能摸到的一切事物都是对象.在程序中模拟出生活中的所有东西万物皆对象 只要是对象--属性和行为(方法) 属性 对象有什么 例如:学生有姓名.学 ...
- 理解JAVA - 面向对象(object) - 属性,方法
理解JAVA - 面向对象(object) - 属性,方法 多态的体现: 向上造型,父类接收子类对象:向上造型: 从父类角度看不到子类独有的方法:面向对象,人类认知世界的方式:生活中每天都 ...
- Java面向对象㈠ -- 封装
Java的面向对象有三大特征:封装.继承.多态.这里主要对封装进行讲解. 封装可以理解为隐藏一个类的成员变量和成员函数,只对外提供需要提供的成员函数. Java的封装主要通过访问权限控制符:priva ...
- 谈谈Java面向对象的三大特性
Java面向对象的三大特性就是指封装.继承.多态了. 一.封装: 概念:封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. (举例:笔记本电脑就是一个封装体,Java语言中最小的封装体就是函数 ...
- Java面向对象:接口
Java面向对象之接口 什么是接口:接口是一种规范和标准,他们可以约束类的行为,是一些方法特征的集合 语法: [修饰符] interface 接口名 extends 父接口1,夫接口2....... ...
- 实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- java基础1.0::Java面向对象、面向对象封装、抽象类、接口、static、final
一.前言 一直以来都是拿来主义,向大神学习,从网上找资料,现在就把自己在工作中和学习中的所理解的知识点写出来,好记星不如烂笔头,一来可以作为笔记自己温习,二来也可以给走在求学之路的同学们一点参考意见, ...
- 20145212《Java程序设计》实验报告二 《 Java面向对象程序设计》
20145212 实验二< Java面向对象程序设计> 实验内容 单元测试 三种代码 伪代码 百分制转五分制: 如果成绩小于60,转成"不及格" 如果成绩在60与70之 ...
- 20145213《Java程序设计》实验二Java面向对象程序设计实验报告
20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...
随机推荐
- java在线聊天项目 使用SWT快速制作登录窗口,可视化窗口Design 更换窗口默认皮肤(切换Swing自带的几种皮肤如矩形带圆角)
SWT成功激活后 new一个JDialog 调整到Design视图 默认的视图模式是BorderLayout,无论你怎么拖拽,只能放到东西南北中的位置上 所以,我们把视图模式调整为AbsoluteLa ...
- 【线段树 集合hash】bzoj4373: 算术天才⑨与等差数列
hash大法好(@ARZhu):大数相乘及时取模真的是件麻烦事情 Description 算术天才⑨非常喜欢和等差数列玩耍.有一天,他给了你一个长度为n的序列,其中第i个数为a[i].他想考考你,每次 ...
- 配置charles对手机进行抓包
1.如下打开charles配置信息:Help –> SSL Proxying –>Install Charles Root Certificate on a Mobile Device 2 ...
- Elementary OS上eclipse卡死问题
解决: 1.可以用 sudo ./eclipse -vm /home/username/jdk_path/bin/java 启动但是启动后仍有显示问题. 2. 修改 eclipse.ini 在 -- ...
- html块级元素和行级元素的区别和使用
行内.块状元素区别: 1.行内元素与块级函数可以相互转换,通过修改display属性值来切换块级元素和行内元素,行内元素display:inline,块级元素display:block. 2.行内元素 ...
- python--第一类对象,函数名,变量名
一 . 第一类对象 函数对象可以像变量一样进行赋值 , 还可以作为列表的元素进行使用 可以作为返回值返回 , 可以作为参数进行传递 def func(): def people(): print('金 ...
- python面向对象(C3算法)(六)
1. 了解python2和python3类的区别 python2在2.3之前使用的是经典类, 2.3之后, 使用的是新式类 2. 经典类的MRO 树形结构的深度优先遍历 -> 树形结构遍历 cl ...
- centos 装 android studio
一.安装前的准备 1.1.如果你还没有安装ubuntu 14.04 LTS系统,请参考下面的文章安装 http://blog.csdn.net/lsyz0021/article/details/521 ...
- hadoop学习爬坑记录
1. Q: hdfs管理界面50070端口设置后,无法访问情况. A: 1)停止当前所有服务./stop-all.sh 2)在hdfs-site.xml中,更改开放端口的绑定IP: <prope ...
- iOS控件-3级城市列表-plist版
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...