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常用流处理工具StreamTool 常见的InputStream流转字符串, 转字节数组等等
ava 常用流处理工具 StreamTool ,常见的InputStream 流转字符串, 转字节数组等等 **应用场景: ** 1. 文件上传 2. js / css / img 等文件读取输出. ...
- 前端vue 里的tab切换 减少dom操作
<div class="vuedemo"> <div class="all"> <div class="tabone&q ...
- python--进程内容补充
一. 进程的其他方法 进程id, 进程名字, 查看进程是否活着(is_alive()), terminate()发送结束进程的信号 import time import os from multipr ...
- 数据结构( Pyhon 语言描述 ) — — 第5章:接口、实现和多态
接口 接口是软件资源用户可用的一组操作 接口中的内容是函数头和方法头,以及它们的文档 设计良好的软件系统会将接口与其实现分隔开来 多态 多态是在两个或多个类的实现中使用相同的运算符号.函数名或方法.多 ...
- (转))iOS App上架AppStore 会遇到的坑
iOS App上架AppStore 会遇到的坑 前言:非原创 文章摘自:http://zhuanlan.zhihu.com/100000PM/20010725 相信大家一定非常「深恶痛疾」AppS ...
- bash快捷键及输入输出重定向
bash特性之快捷键: Ctrl+a: 跳转至命令首部 Ctrl+e: 跳转至命令尾部 Ctrl+l: 清屏 Ctrl+c: 中止或取消 Ctr ...
- windons杀死8080进程
1,netstat -aon|findstr "8080" //8080端口号 2,taskkill -PID 2976 -F //2976 ,8080端口号对应的进程号
- Appium启动app
首先要获取包名,然后获取launcherActivity.获取这两个关键东西的方法很多,这里就不一一多说,小伙伴们可以各显神通.小编这里主要给大家推荐一个sdk自带的实用工具aapt. aapt即An ...
- Python标准库之csv(1)
Python标准库之csv(1) 1.Python处理csv文件之csv.writer() import csv def csv_write(path,data): with open(path,'w ...
- HDU-1251 统计难题,字典树或者map!
统计难题 很久就看过这个题了,但不会~~~不会~~ 题意:给出一张单词表,然后下面有若干查询,每次给出一个单词,问单词表中是否存在以这个单词为前缀的单词,输出数量.本身也是自身的前缀.只有一组数据! ...