- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我的问题,我似乎无法弄清楚如何调用 ParkingTicket
对象 if (carMinutesPaid>meterMinutesPaid)?任何人都可以帮忙,下面是该问题的详细信息。
public static ParkingTicket checkParking(int carMinutesParked, int meterMinutesPaid)
{
Car parker = carMinutesParked;
ParkingMeter parkee = parkee;
if(carMinutesParked>meterMinutesPaid){
return new ParkingTicket(parker, parkee);
}
else if(carMinutesParked<=meterMinutesPaid){
System.out.println("null");
}
return new ParkingTicket(parker, parkee);
}
这是我的项目的问题。
请记住,此方法必须能够在不存在 ParkingTicket
对象的情况下使用。
Car
参数和 ParkingMeter
参数决定是否应创建 ParkingTicket
对象。ParkingTicket(parker, parkee)
并返回结果。null
。这是我的汽车类别:
/**
* This is a Car class for Impark.
*
* @author Tre
* @version 2.0 15 October 2015
*/
public class Car
{
private static final int MINIMUM_PLATE_LENGTH=2;
private static final int MAXIMUM_PLATE_LENGTH=7;
public static final char MANUAL_TRANSMISSION='m';
public static final char AUTOMATIC_TRANSMISSION='a';
private static int defaultMinutesParked = 0;
private static double defaultOdometerInKm = 50000.5;
private String licensePlate;
private char transmissionType;
private double odometerInKm;
private int minutesParked;
/**
* @param newProposedLicensePlate the license plate of the car can equal null
* but must be between MINIMUM_PLATE_LENGTH and MAXIMUM_PLATE_LENGTH
*/
public Car(String newProposedLicensePlate)
{
setLicensePlate(newProposedLicensePlate);
transmissionType = AUTOMATIC_TRANSMISSION;
odometerInKm = defaultOdometerInKm;
minutesParked = defaultMinutesParked;
}
/**
* @return the license plate of the car can equal null
* but must be between MINIMUM_PLATE_LENGTH and MAXIMUM_PLATE_LENGTH
*/
public String getLicensePlate()
{
return licensePlate;
}
/**
* @return the transmission type MANUAL_TRANSMISSION or AUTOMATIC_TRANSMISSION
*/
public char getTransmissionType()
{
return transmissionType;
}
/**
* @return the odometer in kilometers
*/
public double getOdometerInKm()
{
return odometerInKm;
}
/**
* Recieve the license plate
* Mutator.licensePlate.
* @param proposedLicense String Conforming to ICBC *length* guidlines:
* http://www.icbc.com/vehicle-registration/license-plates/Pages/Personalized-licence-plates.aspx
* May also be null. The null represents a car without a plate
* If validation fails, null will be set.
*/
public void setLicensePlate(String proposedLicense)
{
if(proposedLicense==null){
licensePlate = proposedLicense;
}
else if(proposedLicense.length()>=MINIMUM_PLATE_LENGTH && proposedLicense.length()<=MAXIMUM_PLATE_LENGTH){
licensePlate = proposedLicense;
}
else{
licensePlate = null;
}
}
/**
* @param mOrA recieve the transmission type MANUAL_TRANSMISSION or AUTOMATIC_TRANSMISSION
* if invalid type of transmission is entered then will return "Installation failure: 'mOrA' is not a vaild transmission type"
*/
public void setTransmissionType(char mOrA)
{
if(mOrA==MANUAL_TRANSMISSION){
transmissionType = mOrA;
}
else if(mOrA==AUTOMATIC_TRANSMISSION){
transmissionType = mOrA;
}
else if (mOrA==mOrA){
System.out.println("Installation failure:" + " " + ("'")+(mOrA)+("'") + " " + "is not a valid transmission type.");
}
else{
transmissionType = mOrA;
}
}
/**
* @return the value of the odometer in with the String kilometers
*/
public String readOdometer()
{
return odometerInKm + " " + "kilometers";
}
/**
* @return the false if the minutesParked equals zero; otherwise true
*/
public boolean isParked()
{
if(minutesParked==defaultMinutesParked){
return false;
}
else{
return true;
}
}
/**
* @param duration replaces any existing value in minutesParked with the value from duration
*/
public void park(int duration)
{
if(duration>=defaultMinutesParked){
minutesParked = duration;
}
}
/**
* @param aOdometerInKm recieve the odometer in kilometers
*/
public void setOdometerInKm(double aOdometerInKm)
{
odometerInKm = aOdometerInKm;
}
/**
* @param aMinutesParked recieve the minutes parked in the stall but can not be a negative number
* if invalid number of minutes is entered then the number of minutes will not change.
*/
public void setMinutesParked(int aMinutesParked)
{
if(aMinutesParked>=defaultMinutesParked){
minutesParked = aMinutesParked;
}
else{
return;
}
}
/**
* @return the minutes parked
*/
public int getMinutesParked()
{
return minutesParked;
}
}
这是我的 ParkingMeter 类(class):
/**
* This is a ParkingMeter class for Impark.
*
* @author Tre
* @version 2.0 15 October 2015
*/
public class ParkingMeter
{
private int minutesPaid;
private String methodPaid;
/**
* @param newMinutesPaid the minutes paid for parking meter
*/
public ParkingMeter()
{
}
/**
* @return the minutes paid
*/
public int getMinutesPaid()
{
return minutesPaid;
}
/**
* @return the method paid
*/
public String getMethodPaid()
{
return methodPaid;
}
/**
* @param paidBy the payment method customer will paid by
*/
public void setMethodPaid(String paidBy) /* BONUS for creating method paid */
{
if(methodPaid=="Visa"){
methodPaid = paidBy;
}
else if(methodPaid=="Master Card"){
methodPaid = paidBy;
}
else if(methodPaid=="American Express"){
methodPaid = paidBy;
}
else if(methodPaid=="Cash"){
methodPaid = paidBy;
}
else if(methodPaid=="Debit"){
methodPaid = paidBy;
}
else{
methodPaid = paidBy;
}
}
/**
* @param quantity the added minutes paid must not have a negative number
*/
public void addMinutesPaid(int quantity)
{
if(quantity>=0){
minutesPaid+=quantity;
}
}
}
这是我的 ParkingTicket 类:
/**
* This is a ParkingTicket class for Impark.
*
* @author Tre
* @version 1.0
*/
public class ParkingTicket
{
private final String referenceNumber;
private static String carLicensePlate;
private static int carMinutesParked;
private static int meterMinutesPaid;
private static int count = 1000;
private static String PREFIX = "V";
/**
* @param recorededLicense the value of the tick number
*/
private ParkingTicket(String recordedLicense, int newCarMinutesParked, int newMeterPaidMinutes)
{
referenceNumber = (PREFIX+count++);
carMinutesParked = newCarMinutesParked;
meterMinutesPaid = newMeterPaidMinutes;
}
/**
* @param
*/
private ParkingTicket(Car parker, ParkingMeter parkee)
{
this(parker.getLicensePlate(), parker.getMinutesParked(), parkee.getMinutesPaid());
}
/**
* @return referenceNumber the reference number
*/
public String getReferenceNumber()
{
return referenceNumber;
}
/**
* @return carLicensePlate the car's license plate
*/
public String getCarLicensePlate()
{
return carLicensePlate;
}
/**
* @return carMinutesParked the minutes car was parked
*/
public int getCarMinutesParked()
{
return carMinutesParked;
}
/**
* @return meterMinutesPaid the minutes paid on meter
*/
public int getMeterMinutesPaid()
{
return meterMinutesPaid;
}
/**
* @return count the with initial value of 1000
*/
public int getCount()
{
return count;
}
public static ParkingTicket checkParking(int carMinutesParked, int meterMinutesPaid)
{
Car parker = carMinutesParked;
ParkingMeter parkee = parkee;
if(carMinutesParked>meterMinutesPaid){
return new ParkingTicket(parker, parkee);
}
else if(carMinutesParked<=meterMinutesPaid){
return null;
}
return new ParkingTicket(parker, parkee);
}
}
最佳答案
这个要求:
Using a Car parameter and a ParkingMeter parameter, decide whether a ParkingTicket object should be created.
建议您向 checkParking
方法提供两个参数,一个是 Car
类型,另一个是 ParkingMeter
类型。所以应该是这样的:
public static ParkingTicket checkParking(Car car, ParkingMeter meter)
这段代码:
Car parker = carMinutesParked;
ParkingMeter parkee = parkee;
甚至无法编译
你看,只有Car
对象保存了 parking 时长的信息,并且你需要对象来创建 parking 票。 ParkingMeter
反之亦然 - 您从对象中获取值:
int carMinutesParked = car.getMinutesParked();
int meterMinutesPaid = meter.getMinutesPaid();
并从这里使用 if
继续(或者甚至在 if
中使用它而不声明临时变量)。
这个:
Invoke ParkingTicket(parker, parkee) if a ticket was merited, and return the result.
你做得很好。
现在这个要求:
Return null if a ticket was not merited.
建议该方法将返回 null,而不是等于“null”的字符串。
因此,根据这些要求,它应该是:
public static ParkingTicket checkParking(Car car, ParkingMeter meter)
{
//sanity check (bonus)
if ((car == null) || (meter == null))
return null;
if(car.getMinutesParked() > meter.getMinutesPaid()){
return new ParkingTicket(car, meter);
}
return null;
}
但请注意,我不知道您是否需要在此代码中添加任何其他逻辑,并且不建议这应该是您的最终版本,只是解释一般方法。
关于java - 如何调用 parking 票(parker, parker)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33325163/
我将使用什么算法(是否使用蛮力)将尽可能多的汽车(假设所有汽车大小相同)放入 parking 场,以便至少有一个导出(来自容器)并且汽车不能被封锁。或者有人可以向我展示一个以编程方式解决此问题的示例。
我想使用 ggplot 绘制以下场景的网格图,我试图在下图中描绘该场景......我可以使用一些关于如何逻辑地思考该方法的指导。谢谢您的指导。 -- 下面示例图中的每个过道都有奇数边和偶数边 奇数一侧
嘿。 我正在设计一个网站(使用 spring、hibernate 和 postgres),供 parking 场所有者跟踪其 parking 场 parking 位的状态(占用、空置或保留),并且对于
我有一个连接到 Hazelcast 的应用程序。最近我发现对 hazelcast 的请求最终开始变得无响应,因此,我对 Hazelcast 进程进行了线程转储。在分析来自开发和生产环境的线程转储时,我
预计在汽车中使用 GPS。它有速度,但有时以 5 km/h 的低速行驶?:搜索 parking 位它显示速度为 0 - 并且汽车在移动! 如何检测汽车是否已停止? GPS 速度 = 0 并且: 加速度
我想编写一个 C 程序,其中有一个包含 10 个字符串的数组,其中每个字符串表示停在第 i 处的汽车的车牌号。随机选择一个点,如果空出,则生成一个随机车牌号并分配给该点,如果被占用,则腾出该点并删除车
看来,我找不到问题的答案,所以我在这里,首先在 Stackoverflow 上:) 即将提到的If语句树: buttonSzamol.addActionListener(new ActionListe
我们在 parking 场的入口和导出处安装了两个车牌读取器摄像头,在进行检测时会生成一个 CSV 文件,然后自动将其加载到数据库中,入口处还有一个自动操作的屏障由相机的“白名单”生成,然后从数据库内
编写一个程序,在给出以下信息时计算将车停在 parking 场的顾客的 parking 费: a.显示车辆类型的字符:C 代表轿车,B 代表巴士,T 代表卡车 b. 0 到 24 之间的整数,显示车辆
我是一名计算机科学专业的初学者,我们被要求完成一个项目,该项目将随机生成的汽车对象移动到城市 map 网格上随机生成的 parking 位。我为按钮、文本字段和文本区域开发了一个 GUI。一切都按要求
已解决。非常感谢所有提供意见的人。这里有很棒的社区。 我有一项任务,其中部分程序需要计算客户的 parking 费。 收费以小时和 1/2 小时为增量。 确定小时数和分钟数。第 1 分钟到第 30 分
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 Improve this qu
我注册了几个域名,每个域名都略有不同。 例如, 快车网快车网fastcar.co.uk网站fast-car.co.uk 等.. 我不希望因任何主要搜索引擎的重复内容或垃圾链接而受到惩罚。 我应该将它们
我网上找了很多解决导航方案的问题,均无法用于WordPress3.1之上,总会出现其他问题。而我所讲解的这种方法是最实用、简单的。如果你用的不是本款主题,你同样可以使用此方法。 首先,
我正在尝试线程驻留,并决定构建某种服务。看起来是这样的: public class TestService { private static final Logger logger = Log
我想创建一个应用程序来更快地支付 parking 费。 这个问题更多的是关于我的应用程序的逻辑,以及我需要使用什么工具来创建它。 此时,我每天使用一个 parking 位,并通过网页付费。 我是这样做
我无法同时运行超过 100 个线程。当我进行线程转储时,我注意到其中许多线程处于停放状态,即 parking to wait for (java.util.concurrent.locks.Abst
我正在开发车辆 parking 系统java应用程序。应用程序应该跟踪汽车何时进入 parking 场、何时离开 parking 场、 parking 场的状态,是否已满。该应用程序还应检查 park
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 9 年前。 Improve t
我有一个卡车停车应用程序,在该应用程序中,卡车运输公司可以预订特定日期的某个位置的停车位数量。 我需要帮助来修改查询以查找特定时期的停车位。 我在此过程中有3张桌子: 位置 +------------
我是一名优秀的程序员,十分优秀!