Java 类和对象12
构造一辆汽车,油箱容量100L,当前里程数0,当前油量0,可以根据道路状况确定油耗,根据行驶速度与行驶时间, 输出当前油量与总里程数。
public class Car_1 {
// 车牌
private String CheP;
// 邮箱容量 单位:L
private double YouXRL = 100;
// 总里程数 单位:km
private double LiC = 0;
// 油耗
private double YouH = 10;
// 当前油量 单位:L
private double DangQYL = 0;
public String getCheP() {
return CheP;
}
public void setCheP(String cheP) {
CheP = cheP;
}
public double getYouXRL() {
return YouXRL;
}
public void setYouXRL(double youXRL) {
YouXRL = youXRL;
}
public double getLiC() {
return LiC;
}
public void setLiC(double liC) {
LiC = liC;
}
public double getYouH() {
return YouH;
}
public void setYouH(double youH) {
YouH = youH;
}
public double getDangQYL() {
return DangQYL;
}
public void setDangQYL(double dangQYL) {
DangQYL = dangQYL;
}
public Car_1(String CheP) {
this.CheP = CheP;
}
// 加油
public void JiaYou(double youl) {
if (youl < 0) {
System.out.println("请不要偷油!");
} else if (DangQYL + youl > YouXRL) {
System.out.println("加油量=" + (YouXRL - DangQYL) + "L,油箱已满。");
DangQYL = YouXRL;
} else {
System.out.println("加油量=" + youl+"L");
DangQYL = DangQYL + youl;
}
}
// 直接加满
public double JiaYou() {
double jyl = YouXRL - DangQYL;
JiaYou(jyl);
return jyl;
}
// 行驶
public void XingShi(double ShiS, double time) {
if (ShiS >= 0 && time >= 0) {
if (DangQYL - YouH * ShiS * time / 100 >= 0) {
LiC += ShiS * time;
DangQYL -= ShiS * time * YouH / 100;
System.out.println("当前油量=" + DangQYL+"L。");
System.out.println("行驶里程总数=" + LiC+"km。");
} else {
double sj = DangQYL * 100 / YouH / ShiS;
System.out.println("油量不足,按照" + ShiS + "km/h的时速,预计可以行驶" + sj + "小时。");
}
} else {
System.out.println("转速表或时间表出错,请检查!");
}
}
public static void main(String[] args) {
//构造第一辆车
Car_1 car1 = new Car_1("鲁C1234");
car1.JiaYou(10);
car1.JiaYou();
car1.setYouH(10);// 根据不同的道路情况设置油耗
car1.XingShi(180, 1);// 行驶速度与行驶时间
car1.XingShi(200, 1);
car1.XingShi(150, 5);
car1.JiaYou(30);
car1.XingShi(150, 5);
car1.XingShi(-150, 5);
car1.XingShi(150, -3);
}
运行:

Java 类和对象12的更多相关文章
- Java类和对象初始化
类的生命周期: Java类的初始化: 本阶段负责为类变量赋正确的初始值.(类变量即静态变量) Java编译器把所有的类变量初始化语句和静态初始化器通通收集到<clinit>方法中,该方法只 ...
- java类和对象之间的差
java类和对象之间的差别是一个普遍的问题,刚开始学习java当它来到与类和对象接触.今天就来总结一下它们之间的差异. 先说说class和object差异.事实上,词:object是全部class的父 ...
- 危险代码:如何使用Unsafe操作内存中的Java类和对象
危险代码:如何使用Unsafe操作内存中的Java类和对象—Part1 危险代码:如何使用Unsafe操作内存中的Java类和对象—Part2 危险代码:如何使用Unsafe操作内存中的Java类和对 ...
- [Java初探08]__简单学习Java类和对象
前言 在前面的学习中,我们对面向对象的编程思想有了一个基本的了解,并且简单的了解了类和对象的定义.那么类和对象在Java语言中是如何表现的,这次,就从实际出发,学习一下一下类和对象在Java语言中的使 ...
- java类和对象
类是对象的抽象 对象是类的一个实例类 对象 = new 类();拿对象可以操作这个类里的方法 java类与对象的区别是个老生常谈的问题,刚开始学java的时候就开始接触类和对象,今天来总结一下他们之间 ...
- Java类和对象的概念
Java是一门面向对象的编程语言,理解Java,首先要理解类与对象这两个概念. Java中的类可以看做C语言中结构体的升级版.结构体是一种构造数据类型,可以包含不同的成员(变量),每个成员的数据类型可 ...
- Java —类和对象
类和对象 类是对象的类型,是具有相同的属性和方法的一组对象的集合. 定义类 访问修饰符 class 类名 { 数据类型 属性名: 访问修饰符 返回值类型 方法名 {} } 创建对象:类名 对象名 = ...
- 解析Java类和对象的初始化过程
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来 ...
- JAVA类和对象课后作业
1.使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询"你已经创建了多少个对象?" 代码: //显示类 //YiMingLai 2 ...
随机推荐
- fork同一时候创建多个子进程的方法
Fork同一时候创建多个子进程方法 第一种方法:验证通过 特点:同一时候创建多个子进程.每一个子进程能够运行不同的任务,程序 可读性较好,便于分析,易扩展为多个子进程 int main(void) { ...
- C++基础学习教程(三)
承接上一讲. 2.7文件I/O 关于读写文件,C++中有一个专门的头文件<fstream>. 首先是读文件演示样例,例如以下: </pre><pre> /***** ...
- uva725_一道水题(优化到了29ms)
//////////////////////////////////////////////////////////////////////////////////////////////////// ...
- $(window).load(function(){})跟$(document).ready(function(){})跟$(function(){})区别
1.页面DOM加载完成 2.$(document).ready(function(){}) 的简写是 $(function(){}) 执行 3.图片样式等所有HTML元素加载完毕 4.$(windo ...
- iOS定义静态变量、静态常量、全局变量
静态变量 当我们希望一个变量的作用域不仅仅是作用域某个类的某个对象,而是作用域整个类的时候,这时候就可以使用静态变量. staticstatic修饰的变量,是一个私有的全局变量.C或者Java中sta ...
- linux操作系统下完全删除oracle数据库
1.关掉oracle server 和 background processes ps -ef | grep ora 关掉数据库 shutdown immediate 2.关掉监听 lsnrctl ...
- 移动端 input 获取焦点后弹出带enter(类似于搜索,确定,前往)键盘,以及隐藏系统键盘
一:调出系统带回车键的键盘 在项目中经常有输入框,当输入完成后点击确定执行相应的动作.但是有些设计没有确定或者搜索按钮,这就需要调用系统键盘,点击系统键盘的确定后执行相应动作. 但是单纯的input是 ...
- Windows 10 Mobile 演示:系统输入法功能演示
笔者近期会发布多篇<Windows 10 Mobile 演示>文章,帮助想买 Windows 10 手机的朋友了解 Windows 10 Mobile 系统特色.今天给大家带来 Windo ...
- handsontable在线编辑excel扩展功能-踩坑篇
简述 先说一下背景,之所以封装handsontable插件,是因为公司要实现在线编辑导入excel文件的功能,然后我就找到了这个功能强大的插件handsontable. 具体功能 除了handsont ...
- MySQL学习(五)——使用JDBC完成用户表CRUD的操作
通过案例我们发现“获得连接”和“释放资源”两次代码将在之后的增删改查所有功能中都存在,开发中遇到此种情况,将采用工具类的方法进行抽取,从而达到代码的重复利用. 1.使用properties配置文件 开 ...