Java类型不匹配?

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()

好的,所以我必须创建一个程序,它是一个停车罚单模拟器。我编译了它,在大多数情况下它都能正常工作,除了我得到的这个小错误,它是一个类型不匹配的错误。代码太多了,所以我只给出错误所在的类:

KNW_警官班

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;
    }