Java停车票模拟器

Java停车票模拟器,java,Java,我看了这里,花了一些时间在这上面,现在我碰到了一堵砖墙。 我在Java的停车罚单模拟器上工作。 我对Java不是很在行,但似乎大部分都能用。 唯一的问题是,我放入了一个演示/测试文件,它始终给我相同的答案。即使有荒谬的价值观。 有人能告诉我如何解决这个问题的正确方向吗 谢谢,所有代码如下: /** * @(#)ParkedCar.java * * ParkedCar application * * * @version 3.00 2014/2/9 */ public class

我看了这里,花了一些时间在这上面,现在我碰到了一堵砖墙。 我在Java的停车罚单模拟器上工作。 我对Java不是很在行,但似乎大部分都能用。 唯一的问题是,我放入了一个演示/测试文件,它始终给我相同的答案。即使有荒谬的价值观。 有人能告诉我如何解决这个问题的正确方向吗

谢谢,所有代码如下:

/**
 * @(#)ParkedCar.java
 *
 * ParkedCar application
 *
 * 
 * @version 3.00 2014/2/9
 */

public class ParkedCar 
{


//Define Variables

    private String CarMake;
    private String CarModel;
    private String CarColour;
    private String CarLicensePlate;
    private static int NumberOfMinutesParked;


//Define Constructors

    // NO ARGUMENT CONSTRUCTOR
    // Set Vaules to Zero or null

    public ParkedCar()
    {
        CarMake = " ";
        CarModel = " ";
        CarColour = " ";
        CarLicensePlate = " ";
        NumberOfMinutesParked = 0;  
    }



    // CONSTRUCTOR WHICH ACCEPTS AN INPUT

    public ParkedCar(String Make,String Model,String Colour,String Reg, int NoMinsPkd)
    {
        CarMake = Make;
        CarModel = Model;
        CarColour = Colour;
        CarLicensePlate = Reg;
        NumberOfMinutesParked = NoMinsPkd;
    }


    // Use the SET Method
    // Set the variables - no needed
    public void setMake(String Make)
    {
        CarMake = Make;
    }

    public void setModel(String Model)
    {
        CarModel = Model;
    }

    public void setColour(String Colour)
    {
        CarColour = Colour;
    }

    public void setReg(String Reg)
    {
        CarLicensePlate = Reg;
    }

    public void setNoMinsPkd(int NoMinsPkd)
    {
        NumberOfMinutesParked = NoMinsPkd;
    }

    // USE THE GET METHODS
    // Get the Variables - used to read in values
    public String getMake()
    {
        return CarMake;
    }
    public String getModel()
    {
        return CarModel;
    }
    public String getColour()
    {
        return CarColour;
    }
    public String getReg()
    {
        return CarLicensePlate;
    }
    public static int getNoMinsPkd()
    {
        return NumberOfMinutesParked;
    }

    // USE THE TO STRING METHODS
    // Output to a Sting 
    public String toString() 
        {

            String PkdCar = "Make: " + CarMake
                + "\nModel: " + CarModel
                + "\nColor: " + CarColour
                + "\nLicense Plate: " + CarLicensePlate;
            return PkdCar;
        }

}
然后

然后


第二次打印的是票证而不是票证2


此外,您还应该始终将变量设置为小写。

Wayyy的代码太多。你能把它分解成最少的代码来演示这个问题吗?看,还有,退房。变量应该是camelCase。谢谢,我知道camelCase,这是我下一步要做的事情。我做的很好,然后换了又换,试着让它工作起来。感谢你的帮助,非常感谢你的帮助!这就是问题所在,我不敢相信我错过了。
/**
 * @(#)ParkingMeter.java
 *
 * ParkedCar application
 *
 * 
 * @version 4.00 2014/2/9
 */


public class ParkingMeter
{

    //Define Variables
    private static int MinsPurchsed; 

    //Define Constructors

    // NO ARGUMENT CONSTRUCTOR
    // Set Vaules to Zero or null
    public ParkingMeter()
    {
    //  MinsPurchsed = 0;
    }

    // CONSTRUCTOR WHICH ACCEPTS AN INPUT
    public ParkingMeter(int Purchased)
    {
        MinsPurchsed = Purchased;
    }

    // Use the SET Method
    // Set the variables - not needed
    public void setPurchased(int Purchased)
    {
        MinsPurchsed = Purchased;
    }

    // USE THE GET METHODS
    // Get the Variables
    public static int getPurchased()
    {
        return MinsPurchsed;
    }

    // USE THE TO STRING METHODS
    // Output to a Sting 
    public String toString() 
    {
        String MeterString = "Minutes Purchased: " + MinsPurchsed;
        return MeterString;
    }

}
/**
 * @(#)GardaOfficer.java
 *
 * ParkedCar application
 *
 * 
 * @version 3.00 2014/2/9
 * @version 4.50 2014/4/13
 */

public class GardaOfficer //extends ParkedCar 
{
    // Define all the variables
    //==========================
    private String Name;
    private String BadgeNumber;
    private double Ticket;



    // Constructor to accept all the variables
    //========================================

    public GardaOfficer(String n, String num)
    {
        Name = n;
        BadgeNumber = num;

    }

    // NO ARGUMENT CONSTRUCTOR
    //========================

        public GardaOfficer()
    {
        Name = "";
        BadgeNumber = "";


    }

    // SET METHODS
    //===============

    public void setName(String n)
    {
        Name = n;
    }


    public void setBadgeNumber(String num)
    {
        BadgeNumber = num;
    }




    // GET METHODS
    //===============

    public String getName()
    {
        return Name;
    }

    public String getBadgeNumber()
    {
        return BadgeNumber;
    }

    // TO STRING METHOD
    //=================

    public String toString() 
    {
        String GardaString = "Garda : " + this.Name
                        + "\nBadge: " + BadgeNumber
                        + "\nTicket: " + Ticket;
        return GardaString;

    }




    public ParkingTicket search(ParkedCar car, ParkingMeter meter) 
        {
            GardaOfficer Garda = new GardaOfficer(this.Name,this.BadgeNumber);
            int time = ParkedCar.getNoMinsPkd() - ParkingMeter.getPurchased();

            if(ParkedCar.getNoMinsPkd() > ParkingMeter.getPurchased()) 
                {
                if(time <= 60) 
                    {
                        Ticket = 50;

                    }

                else 
                    {
                        Ticket = 50 + (10 * (time/60));
                    }
                }

                if(time <0)

                        return null;
                        return new ParkingTicket(car, Garda, getTicket(), time);

                    }

                public double getTicket()
                    {
                        return Ticket;
                    }

                public void setTicket(double ticket) 
                    {
                        this.Ticket = Ticket;
                    }
} 
/**
 * @(#)ParkingTicket.java
 *
 * ParkedCar application
 *
 * 
 * @version 4.00 2014/2/9
 */

public class ParkingTicket
{

//Define Variables
private ParkedCar Vehicle;
private GardaOfficer GuardString;
private double ParkingFine;
private int Minutes;
private double firstFine = 50;
private double moreFine = 50;

public ParkingTicket()
    {
    }

// CONSTRUCTOR WHICH ACCEPTS AN INPUT
public ParkingTicket(ParkedCar car, GardaOfficer Guard, double guyFine, int mins) 
    {

        Vehicle = car;
        GuardString = Guard;
        ParkingFine = guyFine;
        Minutes = mins;
    }

    // Use the SET Method
    // Set the variables - not needed



    // USE THE GET METHODS
    // Get the Variables
    public void getTotalFine() 
        {
            int time = ParkedCar.getNoMinsPkd() - ParkingMeter.getPurchased();

            if (time <= 60) 
                {
                    ParkingFine = firstFine;
                } 
            else 
                {
                    ParkingFine = firstFine + moreFine * (time / 60);
                }
        }

    public double getFirstFine() 
        {
            return firstFine;
        }

    public double getMoreFine() 
        {
            return moreFine;
        }

    public ParkedCar getVehicle() 
        {
            return Vehicle;
        }

    public GardaOfficer getGuardString() 
        {
            return GuardString;
        }

    public int getMinutes() 
        {
            return Minutes;
        }

    public double getFine() 
        {
            return ParkingFine;
        }


    // USE THE TO STRING METHODS
    // Output to a Sting 
    public String toString() 
        {

            String TicketString = "Fine : " + this.ParkingFine
                            + "\nMinutes: " + Minutes
                            + "\n" + Vehicle.toString()
                            + "\n" + this.getGuardString().toString();

            return TicketString;

        }
}
//This is a demo file to show the program

public class DemoCar 
{

    public static void main(String[] args) 
        {

            ParkedCar Test1 = new ParkedCar("BMW", "2014", "Yellow", "141D12345", 30);
            ParkingMeter parking = new ParkingMeter(50);
            GardaOfficer Murphy = new GardaOfficer("Guard Murphy", "10");
            ParkingTicket ticket = Murphy.search(Test1, parking);

        if (ticket != null) 
            {
                System.out.println(ticket.toString());
            } 
        else 
            {
                System.out.println("No ticket issued!");
            }


// A second car checked to see if it passes or not, it's over
            ParkedCar Test2 = new ParkedCar("VW", "2001", "Green", "01D321", 225);
            ParkingMeter parking2 = new ParkingMeter(200);
            ParkingTicket ticket2 = Murphy.search(Test2, parking2);

        if (ticket != null) 
            {
                System.out.println(ticket.toString());
            } 
        else 
            {
                System.out.println("No ticket issued!");
            }
        }
}