Java类型不匹配?
好吧,所以我不得不创建一个程序,这是一个停车票模拟器。我编译它,大部分它的工作,除了这是一个类型不匹配的小笨拙的错误。这是一个很大的代码,所以我就放弃了类错误是:Java类型不匹配?
KNW_PoliceOfficerClass
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_ParkingTicketClass
public class KNW_ParkingTicket
{
private KNW_ParkedCar vehicle;
private KNW_PoliceOfficer copster;
private double fine;
private int minutes;
private double firstFine = 25;
private double moreFine = 10;
public KNW_ParkingTicket(KNW_ParkedCar car, KNW_PoliceOfficer cop, double guyFine, int mins)
{
vehicle = car;
copster = cop;
fine = guyFine;
minutes = mins;
}
public void getTotalFine()
{
int time = KNW_ParkedCar.getMinutes() - KNW_ParkingMeter.getMinPurchased();
if(time <= 60)
{
fine = firstFine;
}
else
{
fine = firstFine + moreFine * (time/60);
}
}
public double getFirstFine()
{
return firstFine;
}
public double getMoreFine()
{
return moreFine;
}
public KNW_ParkedCar getVehicle()
{
return vehicle;
}
public KNW_PoliceOfficer getCopster()
{
return copster;
}
public int getMinutes()
{
return minutes;
}
public double getFine()
{
return fine;
}
}
,这里是什么错误说:
File: C:\Users\Kyle Welch\KNW_PoliceOfficer.java [line: 46]
Error: Type mismatch: cannot convert from double to KNW_ParkingTicket
任何帮助,将不胜感激!
您的search
方法应返回KNW_Parking_Ticket
,但您返回ticket
这是一个double
。
问题是ticket
参数,你这样定义它:double ticket;
KNW_ParkingTicket
方法
,你可以看到完整的方法与参数在这里:
static KNW_ParkingTicket search(KNW_ParkedCar car, KNW_ParkingMeter meter)
需要返回KNW_ParkingTicket
类型,但您要返回的名称为ticket
的double
其中:
return ticket;
你介意告诉我这是如何工作的吗?我会很感激! –
小心Mohsen - 我怀疑我们在这里有一个[帮助吸血鬼](https://meta.stackexchange.com/questions/19665/the-help-vampire-problem)。 –
@KyleWelch我没有责任为你编码,我只回答了这是为什么发生异常的操作! –
NW_PoliceOfficer类中的搜索方法返回类型是KNW_ParkingTicket,但是您返回的是double方法,搜索方法返回类型为double。
试试这个:
静态双搜索(KNW_ParkedCar车,KNW_ParkingMeter米){ INT时间= KNW_ParkedCar.getMinutes()-KNW_ParkingMeter.getMinPurchased();
如果(KNW_ParkedCar.getMinutes()> KNW_ParkingMeter.getMinPurchased()){
if(time <= 60)
{
ticket = 25;
}
else
{
ticket = 25 + (10 * (time/60));
}
return ticket;
}
哪一行?请显示完整的错误信息。 –
该代码有很多错误,包括错误使用静态,调用方法,就好像它们是静态的,当它们应该是实例时....你根本没有使用方法参数。也许是从头开始写的。 –
你在'KNW_PoliceOffice'中声明'ticket'是一个'double',在你的'search'方法中你说你要返回一个'KNW_ParkingTicket',但实际上你返回的是'ticket',这是一个double。 – nbokmans