这是我关于setter和getter的任务,由于某种原因,它没有起作用。
谁能检查我的问题所在?
谢谢。

public class FlightTest
{
    public static void main (String [] args)
    {

        String name;
        String number;
        String Orig;
        String Desti;

        Scanner scan = new Scanner (System.in);

        Flight data = new Flight ();

        System.out.print ("Airline Name: ");
        String AirlineName = scan.nextLine ();
        data.setAirlineName (name);

        System.out.print ("Flight Number: ");
        String FlightNumber = scan.nextLine ();
        data.setFlightNumber (number);

        System.out.print ("Origin: ");
        String Origin = scan.nextLine();
        data.setOrigin (Orig);

        System.out.print ("Destination: ");
        String Destination = scan.nextLine ();
        data.setDestination (Desti);

        System.out.println (data);
    }
}





public class Flight

{

    private String AirlineName;

    private String FlightNumber;

    private String Origin;

    private String Destination;

    public String setAirlineName()
    {
        String Name = AirlineName;
        return Name;
    }

    public Flight ()
    {
        AirlineName = "";
        FlightNumber = "";
        Origin = "";
        Destination = "";
    }

    public String getAirlineName()
    {
        return AirlineName;
    }

    public void setAirlineName (String name)
    {
        AirlineName = name;
    }

    public String getFlightNumber ()
    {
        return FlightNumber;
    }

    public void setFlightNumber (String number)
    {
        FlightNumber = number;
    }

    public String getOrigin ()
    {
        return Origin;
    }

    public void setOrigin (String Orig)
    {
        Origin = Orig;
    }

    public String getDestination ()
    {
        return Destination;
    }

    public void setDestination (String Desti)
    {
        Destination = Desti;
    }

    public String toString ()
    {
        String result = AirlineName + " flight number " + FlightNumber + " leaves from " + Origin + " to " + Destination + ".";
        return result;
    }
}

最佳答案

似乎您正在将Scanner newLine()调用读入新变量,然后传递尚未初始化的变量。例如,我认为您想要这样的东西:

System.out.print ("Airline Name: ");
name = scan.nextLine ();
data.setAirlineName (name);


请注意,第二行将nextLine()读入要传递给setter的变量中。

10-06 09:54
查看更多