Java初学者作业——分析计费规则后,编写程序输入乘坐出租车的时间和里程数,计算里程价格

简介: Java初学者作业——分析计费规则后,编写程序输入乘坐出租车的时间和里程数,计算里程价格

需求说明:

  1. 某城市的出租车计费规则如下:
  2. 在 7:00 ~ 23:00 之间,3km 以内收取起步价 10 元,超过 3km 每 km 收取 2 元。
  3. 如果不在这个时间段,在 2km以内收取起步价 15元,超过 2km 每 km 收取 5 元。


24.png


实现思路:


  1. 通过Scanner获取用户输入的时间以及行驶的里程。
  2. 通过时间,判断计费是使用白天计费规则,还是晚上计费规则。
  3. 确定计费规则后,计算里程价格。


实现代码:

import java.util.Scanner;
public class TaxiDemo {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入乘坐出租车的时间(小时)【1-24】");
    int hour = sc.nextInt();
    System.out.println("请输入里程数(千米)");
    int mileage = sc.nextInt();
    int cost = 0;//声明消费
    if(7 >= hour&&hour <= 23){
      //日间 起步价10元包含里程3千米,超出部分每千米2元
      if(mileage<=3){   //如果没有超出起步价包含里程
        cost = 10;
      }else{    //如果超出起步价包含里程
        //减去起步价包含里程,剩余里程每千米2元加起步价格
        cost = 10+2*(mileage-2);
      }
    }else{
      //夜间 起步价15元包含里程2千米,超出部分每千米5元
      if(mileage<=2){
        cost = 15;
      }else{
        //减去起步价包含里程,剩余里程每千米5元加起步价格
        cost = 15+5*(mileage-2);
      }
    }
    System.out.println("您本次行驶了"+mileage+"千米,共消费:"+cost+"元。");
    // 
  }
}


相关文章
|
2月前
|
存储 Java
【编程基础知识】 分析学生成绩:用Java二维数组存储与输出
本文介绍如何使用Java二维数组存储和处理多个学生的各科成绩,包括成绩的输入、存储及格式化输出,适合初学者实践Java基础知识。
76 1
|
25天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
48 2
|
26天前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
15 2
|
2月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
57 2
|
2月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
105 1
|
2月前
|
Java
让星星⭐月亮告诉你,Java synchronized(*.class) synchronized 方法 synchronized(this)分析
本文通过Java代码示例,介绍了`synchronized`关键字在类和实例方法上的使用。总结了三种情况:1) 类级别的锁,多个实例对象在同一时刻只能有一个获取锁;2) 实例方法级别的锁,多个实例对象可以同时执行;3) 同一实例对象的多个线程,同一时刻只能有一个线程执行同步方法。
19 1
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
42 1
|
2月前
|
存储 Java 编译器
[Java]基本数据类型与引用类型赋值的底层分析
本文详细分析了Java中不同类型引用的存储方式,包括int、Integer、int[]、Integer[]等,并探讨了byte与其他类型间的转换及String的相关特性。文章通过多个示例解释了引用和对象的存储位置,以及字符串常量池的使用。此外,还对比了String和StringBuilder的性能差异,帮助读者深入理解Java内存管理机制。
21 0
|
存储 Java 编译器
Java初学者从入门到精通(2)
Java的基础语法、Java的面向对象。每一个知识点都讲解的非常细腻,由浅入深。适合非计算机专业,想转行做Java开发的朋友,或者您想让Java基础更扎实的同学
161 0
Java初学者从入门到精通(2)
|
Java 程序员
Java初学者从入门到精通(1)
Java零基础入门必会的知识点
221 0
Java初学者从入门到精通(1)
下一篇
无影云桌面