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. ...
随机推荐
- shell脚本,在指定目录下通过随机小写10个字母加固定字符串oldboy批量创建10个html文件。
[root@localhost wyb]# cat test10.sh #!/bin/bash #使用for循环在/test10目录下通过随机小写10个字母加固定字符串oldboy批量创建10个htm ...
- C语言数组_04
概念:数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式.这些按序排列的同类数据元素的集合称为数组.在C语言中,数组属于构造数据类型.一个数组可以分解为多个数组 ...
- Greenplum/Deepgreen(集群/分布式)安装文档
Deepgreen分布式安装文档 环境准备 1.安装VMware虚拟机软件,然后在VMware安装三台Linux虚拟机(使用centos7版本) 2.使用的虚拟机如下: 192.168.136.155 ...
- clover 显卡注入功能详细讲解
13 March 2014 GraphicsInjector功能源于变色龙,不过比变色龙更加灵活,定制性更加强大.Intel的显卡 GMA950, X3100, HD300, HD4000被证实可 ...
- ZOJ Monthly, January 2019-Little Sub and Pascal's Triangle
这个题的话,它每行奇数的个数等于该行行号,如果是0开始的,就该数的二进制中的1的个数,设为k,以它作为次数,2k就是了. #include <stdio.h> int main() { i ...
- 【OS_Linux】Linux系统中目录及文件管理
1.Linux系统中目录的树状结构 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录, ...
- restful规范和drf模块
restfu1规范 它是一个规范,面向资源架构 10条规范: 1.api与用户的通信协议,总是使用https协议 api网上提供的接口 2.域名: 尽量将api部署在专用域名(会存在跨域问题) API ...
- mysql参数讲解
MySQL配置参数详解: http://blog.csdn.net/wlzx120/article/details/52301383 深入理解mysql参数 http://blog.itpub.net ...
- Apache 流框架 Flink,Spark Streaming,Storm对比分析(1)
此文已由作者岳猛授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1.Flink架构及特性分析 Flink是个相当早的项目,开始于2008年,但只在最近才得到注意.Flink是 ...
- 大数据学习——sql练习
1. 现有如下的建表语句和数据: 建表语句 create table student(Sno int,Sname string,Sex string,Sage int,Sdept string)row ...