正文
java模拟收费代码 java收费了
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
利用java编写一个电话扣费的程序
public class Test extends PhoneKouFei{
public Test(String startTime, String stopTime) {
super(startTime, stopTime);
}
public static void main(String[] args) {
String start = "00:12:23";
String stop = "00:15:23";
new Test(start,stop);
}
}
abstract class PhoneKouFei{
private final double fei = 1.5;//1分钟扣1毛5
public String startTime; //通话开始时间
public String stopTime; //通话结束时间
public PhoneKouFei(String startTime, String stopTime){
this.startTime = startTime;
this.stopTime = stopTime;
System.out.println("通话时常java模拟收费代码:" +getKouFei()+ "分钟");
System.out.println("应扣费java模拟收费代码:" + (double)getKouFei() * fei);
}
//扣费方法
private final long getKouFei(){
java.text.SimpleDateFormat sim = new java.text.SimpleDateFormat("HH:mm:ss");
try {
java.util.Date start = sim.parse(this.startTime);
java.util.Date stop = sim.parse(this.stopTime);
return (stop.getTime() - start.getTime()) / 60000;
} catch (java.text.ParseException e) {
throw new RuntimeException("时间格式错误..");
}
}
}
//输出结果:
通话时常:3分钟
应扣费:4.5
java 编程,停车收费简易系统
代码如下,仅实现功能,未考虑安全等情况.
//ParkingTest.java
/**
* 停车程序入口.本示例为考虑数据安全等.仅作为示例,未经调试.
* @author menglg
*
*/
public class ParkingTest {
public static void main(String[] args) {
// 程序入口,可以安排停车出车
for (int i = 0; i 100; i++) {
if (ParkingManage.hasPosition()) {
ParkingManage.enterParking(i + "");
continue;
}
break;
}
for (int i = 0; i 100; i++) {
ParkingManage.outParking(i + "");
}
System.out.println(ParkingManage.totalCost());
}
}
//ParkingManage.java
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class ParkingManage {
private static ListParking parkings = new ArrayList();
private static final int maxNumber = 100;
private static int currentNumber;
public static void enterParking(String lpn) {
if (lpn == null || lpn.length() == 0) {
return;
}
Parking p = new Parking(lpn);
p.setEnterDate(new Date());
parkings.add(p);
}
public static void outParking(String lpn) {
if (lpn == null || lpn.length() == 0) {
return;
}
for (Parking p : parkings) {
if (!lpn.equals(p.getLpn()))
continue;
Date now = new Date();
p.setOutDate(now);
parkings.remove(p);
currentNumber += p.getCost();
break;
}
}
public static int totalCost() {
return currentNumber;
}
public static boolean hasPosition() {
return parkings.size() maxNumber;
}
}
//Parking.java
import java.util.Date;
public class Parking {
private String lpn;
private Date enterDate;
private Date outDate;
private int cost;
public Parking(String lpn) {
this.lpn = lpn;
}
public String getLpn() {
return lpn;
}
public Date getEnterDate() {
return enterDate;
}
public Date getOutDate() {
return outDate;
}
public int getCost() {
if(outDate == null || enterDate == null){
return 0;
}
//停车时间,单位毫秒
long time = outDate.getTime() - enterDate.getTime();
long hour = 60*60*1000;
if(time hour){
cost = 3;
}else if(time%hour == 0){
cost = (int)(time/hour * 2);
}else{
cost = (int)((time/hour+1) * 2);
}
return cost;
}
public void setLpn(String lpn) {
this.lpn = lpn;
}
public void setEnterDate(Date enterDate) {
this.enterDate = enterDate;
}
public void setOutDate(Date outDate) {
this.outDate = outDate;
}
public void setCost(int cost) {
this.cost = cost;
}
}
写几个简单的Java程序,计算学费之类的
你好!很高兴为你解答。
首先,为你提供两个类,一个是StuFee对象,用于模拟学费对象
二是TestStuFee对象,用于运行测试学费对象,解决问题
其次,以下是运行结果:
**********************************
run:
第十年学费:15513.282159785162
第11到第14年70207.39453239123
请输入10个整数
1:1
2:2
3:3
4:4
5:5
6:6
7:7
8:8
9:9
10:10
5
请输入10个浮点数
1:1.1
2:2.2
3:3.3
4:4.4
5:5.5
6:6.6
7:7.7
8:8.8
9:9.9
10:10.10
5.96
成功生成(总时间:28 秒)
最后,给出源码。请建2个.java文件,分别放置这两个类。
*******************第一个***************************
package szu.ykl.calcStuFee;
/**
*
* @author 叶科良
*/
public class StuFee {
private double addSpeed;
private double baseFee;
private double fee;
public double getAddSpeed() {
return addSpeed;
}
public void setAddSpeed(double addSpeed) {
this.addSpeed = addSpeed;
}
public double calcFee(double year) {
return (Math.pow((1 + this.getAddSpeed()), year - 1)) * this.getBaseFee();
}
public double calcFee(int year1, int year2) {
if (year1 = year2) {
double result = 0;
for (int i = 0; i (year2 - year1+1); i++) {
result +=this.calcFee(year1+i);
}
return result;
}
return -1;
}
public StuFee(double addSpeed, double baseFee) {
this.setAddSpeed(addSpeed);
this.setBaseFee(baseFee);
}
public double getBaseFee() {
return baseFee;
}
public void setBaseFee(double baseFee) {
this.baseFee = baseFee;
}
public static int average(int[] array) {
if (null != array) {
if (array.length != 0) {
int resultInt = 0;
for (int i = 0; i array.length; i++) {
resultInt += array[i];
}
return (int)(resultInt/array.length);
} else {
return -1;
}
} else {
return -1;
}
}
;
public static double average(double[] array) {
if (null != array) {
if (array.length != 0) {
double resultDouble = 0;
for (int i = 0; i array.length; i++) {
resultDouble += array[i];
}
return (resultDouble/array.length);
} else {
return -1;
}
} else {
return -1;
}
};
}
********************第二个***************************************
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package szu.ykl.calcStuFee;
import java.util.Scanner;
/**
*
* @author 叶科良
*/
public class TestStuFee {
public static void main(String[] args) {
StuFee test = new StuFee(0.05, 10000);
System.out.println("第十年学费:" + test.calcFee(10));
System.out.println("第11到第14年" + test.calcFee(11, 14));
TestStuFee testStu = new TestStuFee();
try {
System.out.println("请输入10个整数");
System.out.println(test.average(testStu.getAcceptAsIntArray(10)));
} catch (java.util.InputMismatchException e) {
System.out.println("请输入整数!");
}
try {
System.out.println("请输入10个浮点数");
System.out.println(test.average(testStu.getAcceptAsDoubleArray(10)));
} catch (java.util.InputMismatchException e) {
System.out.println("请输入浮点数!");
}
}
/**
* 指定数组大小,从命令行接收整数
* @param arraySize 数组大小
* @return 原始整数数组
*/
public int[] getAcceptAsIntArray(int arraySize) {
int[] acceptArray = new int[arraySize];
Scanner reader = new Scanner(System.in);
for (int i = 0; i arraySize; i++) {
System.out.print((i + 1) + ":");
acceptArray[i] = reader.nextInt();
}
return acceptArray;
}
/**
* 指定数组大小,从命令行接收浮点数
* @param arraySize 数组大小
* @return 原始浮点数数组
*/
public double[] getAcceptAsDoubleArray(int arraySize) {
double[] acceptArray = new double[arraySize];
Scanner reader = new Scanner(System.in);
for (int i = 0; i arraySize; i++) {
System.out.print((i + 1) + ":");
acceptArray[i] = reader.nextDouble();
}
return acceptArray;
}
}
最后,有问题可以追问!
关于java模拟收费代码和java收费了的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。