Java类型不匹配?
好的,所以我必须创建一个程序,它是一个停车罚单模拟器。我编译了它,在大多数情况下它都能正常工作,除了我得到的这个小错误,它是一个类型不匹配的错误。代码太多了,所以我只给出错误所在的类: KNW_警官班Java类型不匹配?,java,compiler-errors,type-mismatch,Java,Compiler Errors,Type Mismatch,好的,所以我必须创建一个程序,它是一个停车罚单模拟器。我编译了它,在大多数情况下它都能正常工作,除了我得到的这个小错误,它是一个类型不匹配的错误。代码太多了,所以我只给出错误所在的类: KNW_警官班 public class KNW_PoliceOfficer { private String name; private int badge; private static double ticket; public KNW_PoliceOfficer()
public class KNW_PoliceOfficer
{
private String name;
private int badge;
private static double ticket;
public KNW_PoliceOfficer()
{
}
public KNW_PoliceOfficer(String poName, int poBadge)
{
name = poName;
badge = poBadge;
}
public String getName()
{
return name;
}
public int getBadge()
{
return badge;
}
static KNW_ParkingTicket search(KNW_ParkedCar car, KNW_ParkingMeter meter)
{
int time = KNW_ParkedCar.getMinutes() - KNW_ParkingMeter.getMinPurchased();
if(KNW_ParkedCar.getMinutes() > KNW_ParkingMeter.getMinPurchased())
{
if(time <= 60)
{
ticket = 25;
}
else
{
ticket = 25 + (10 * (time/60));
}
return ticket;
}
}
任何对此的帮助都将不胜感激 您的搜索方法应该返回KNW_Parking_Ticket,但您返回的是double Ticket。问题在于Ticket参数,您已将其定义为:double Ticket
在KNW_ParkingTicket方法中,您可以在此处看到带参数的完整方法:
静态KNW_停车场车辆搜索KNW_停车场车辆,KNW_停车表
它需要返回一种KNW_ParkingTicket类型,但您在其中返回的是一个双名票证:
回程票 NW_警官类返回类型中的搜索方法为KNW_ParkingTicket,但您正在返回double将方法搜索方法返回类型更改为double 试试这个: 静态双搜索KNW_停车车,KNW_停车表{ int time=KNW_ParkedCar.getMinutes-KNW_ParkingMeter.getMinutes 如果KNW_ParkedCar.getMinutes>KNW_ParkingMeter.getMinutes已购买 {
if(time <= 60)
{
ticket = 25;
}
else
{
ticket = 25 + (10 * (time/60));
}
return ticket;
}
哪一行?请显示完整的错误消息。代码中有很多错误,包括错误使用静态,调用方法时将其视为静态,而它们应该是实例…您根本没有使用您的方法参数…也许是时候从头开始重新编写了。您在KNW_PoliceOffice中声明票证是双精度的,并且在您的搜索方法中你说你要退一张KNW_ParkingTicket,但你实际上是退一张双人票,而且在大多数情况下是有效的,就像说几乎怀孕了。要么有效,要么无效。不能从双人票转换成KNW_ParkingTicket在我看来像是普通英语。你不明白其中的哪一部分?你介意展示一下吗告诉我这是怎么回事?我会很感激的!小心莫森-我怀疑我们这里有个问题。@KyleWelch我不负责为你编码,我只回答了op,这就是为什么会发生异常的原因!@DontKnowMuchButGettingBetter是的!你是对的,我不会再回答了:D
File: C:\Users\Kyle Welch\KNW_PoliceOfficer.java [line: 46]
Error: Type mismatch: cannot convert from double to KNW_ParkingTicket
if(time <= 60)
{
ticket = 25;
}
else
{
ticket = 25 + (10 * (time/60));
}
return ticket;
}