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. ...
随机推荐
- javascript的offset、client、scroll使用方法
offsetTop 指元素距离上方或上层控件的位置,整型,单位像素. offsetLeft 指元素距离左方或上层控件的位置,整型,单位像素. offsetWidth 指元素控件自身的宽度,整型,单位像 ...
- TortoiseSVN文件夹及文件图标不显示解决方法---20150515
由于自己的电脑是win7(64位)的,系统安装TortoiseSVN之后,其他的功能都能正常的使用,但是就是文件夹或文件夹的左下角就是不显示图标,这个问题前一段时间就遇到了(那个时候没找到合适的答案) ...
- [CODEVS] 2193 数字三角形WW
数字三角形必须经过某一个点,使之走的路程和最大 从必须经过的点,向上向下分别DP两次的和即为答案. 还有一种思路是把和必须经过点同一行的设为-INF,这样就一定(大概)不会选择它们了. //Write ...
- centos7中将python2.7.5版本升级到3.x版本
一.安装gcc源码编译器 yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl-devel 二.下载python软件包 wget https ...
- 看外设(uart/spis/i2c/i2s)模块设计
1.先看外设接口协议. 2.看具体设计文档. 3.仿真case.
- mysql随机获取数据
SELECT * FROM `table` AS t1 JOIN ( SELECT ROUND( RAND() * ( (SELECT MAX(id) FROM `table`) - (SELECT ...
- Jmeter下载安装配置
一,进入官网:http://jmeter.apache.org/ 1.第一步进入官网如下图 2.选择进行下载,下载下来为一个压缩包,解压即可. 3.我下载的是jmeter4.0版本,对应jdk1.8. ...
- Leetcode 373.查找和最小的k对数字
查找和最小的k对数字 给定两个以升序排列的整形数组 nums1 和 nums2, 以及一个整数 k. 定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2. 找到和最小的 ...
- 刷题总结——二叉苹果树(ssoj树形dp+记忆化搜索)
题目: 题目背景 URAL:http://acm.timus.ru/problem.aspx?space=1&num=1018 题目描述 有一棵苹果树,如果树枝有分叉,一定是分 2 叉(就是说 ...
- bzoj 5110 Yazid的新生舞会
题目大意: 一个数列,求有多少个区间$[l,r]$满足该区间的众数出现次数大于$\lceil \frac{r-l}{2} \rceil$ 思路: 对于一个区间满足条件的众数明显是唯一的 所以设该数的前 ...