首页 > 解决方案 > 驱动程序和方法不正常

问题描述

public class FlightTest 
{
    public static void main(String[] args) 
    {
        Flight info = new Flight(null, 0, null, null);
        String name = "Delta Airlines";
        int flightNum = 54663;
        String origin = "Dallas, TX";
        String destination = "Canton, MI";
        info.setDestination(destination);
        info.setFlightNum(flightNum);
        info.setName(destination);
        info.setOrigin(destination);
        System.out.print(info);
    }
}

上面的代码是我的驱动程序。
下面是我正在使用的方法。我不确定它是没有被正确调用还是没有被正确命名。

public class Flight {

    private String name;
    private int flightNum;
    private String origin;
    private String destination;

    public Flight (String name, int flightNum, String origin, String destination) {
        name = "";
        flightNum = 0;
        origin ="";
        destination = "";
    }
    public enum Status {
        ONTIME, DELAYED, CANCELLED;
    }
    private Status flightStatus = Status.ONTIME;

    public String getName() {
        return name;
    }

    public void setName(String newName) {
        name = newName;
    }

    public int getFlightNum() {
        return flightNum;
    }

    public void setFlightNum(int newFlightNum) {
        flightNum = newFlightNum;
    }

    public String getOrigin() {
        return origin;
    }

    public void setOrigin(String newOrigin) {
        origin = newOrigin;
    }

    public String getDestination() {
        return destination;
    }

    public void setDestination(String newDestination) {
        destination = newDestination;
    }

    public String toString() {
        return "The airline name is " +name+ ".\the flight number is " +flightNum+".\the origin is " + origin + ".\the destination is " +destination;
    }
}

就是在打印的.toString()时候把“the”这个词删掉了,除了flightnum之外,打印出来的都是“canton mi”,没错。

标签: javamethodsdriver

解决方案


它打印出的所有内容都是“canton mi”,除了flightnum之外的所有内容,这是正确的

好吧,您将所有内容设置为目的地,即"canton, mi"

    info.setDestination(destination); // destination
    info.setFlightNum(flightNum);     
    info.setName(destination);        // destination
    info.setOrigin(destination);      // destination

您需要info使用正确的值填充您的:

    info.setDestination(destination);
    info.setFlightNum(flightNum);
    info.setName(name);
    info.setOrigin(origin);

此外,\t它只是一个选项卡,因此它被打印为空白。去掉前导\


推荐阅读