返回空值的Java项目

返回空值的Java项目,java,eclipse,null,project,zero,Java,Eclipse,Null,Project,Zero,嗨,我是Java编程新手。为什么我的值在输入对话框中输入后返回null。我有两个班,一个叫VehicleLeapp,另一个叫VehicleFactory。我们将不胜感激。谢谢 完整代码p.java 完整代码VehicleFactory.java 问题(代码取自VehicleFactory.java) 所有摘要(如customer name)都返回空值,所有成本和总计为$0.00 public void getSummary(){ String summary = "WELCOME TO HAYL

嗨,我是Java编程新手。为什么我的值在输入对话框中输入后返回null。我有两个班,一个叫VehicleLeapp,另一个叫VehicleFactory。我们将不胜感激。谢谢

完整代码p.java 完整代码VehicleFactory.java 问题(代码取自VehicleFactory.java) 所有摘要(如customer name)都返回空值,所有成本和总计为$0.00

public void getSummary(){
String summary = "WELCOME TO HAYLO MANUFACTURING" + "\n" + "\n";

summary += "Customer Name: " + firstname + " " + lastname + "\n";
summary += "Customer Phone: " + phone + "\n";
summary += "Number of Vehicles: " + nbrVehicles + "\n";
summary += "Number of Tanks: " + nbrTanks + "\n";
summary += "Vehicle Cost ($500.19 / vehicle): " + cf.format(manufactureCost) + "\n";
summary += "Tanks Cost ($2.15 / fuel cell): " + cf.format(fuelTankCost) + "\n";
summary += "Subtotal: " + cf.format(subtotal) + "\n";
summary += "Tax (7.25%): " + cf.format(tax) + "\n";
summary += "Total: " + cf.format(total) + "\n";

//display the summary
JOptionPane.showMessageDialog(null, summary);

您没有真正描述问题,但我怀疑这就是原因:

VehicleFactory vehicleObject = new VehicleFactory();
vehicleObject.getSummary();
vehicleObject.HayloFactory(firstname, lastname, phone, nbrVehicles, nbrTanks);
在调用
HayloFactory
之前,您正在调用
getSummary
——因此它试图在您将对象中的值设置为有用值之前显示它们

此外,所有
calcXyz
方法都引入了新的局部变量,如下所示:

public void calcTotal(){
    double total = subtotal + tax;
}   
相反,他们应该设置字段值:


如果您适当地更改了所有的计算方法,然后将
getSummary()
调用移到最后,它就会工作。(这不完全是我编写代码的方式,但那是另一回事。)

您没有真正描述问题,但我怀疑这就是原因:

VehicleFactory vehicleObject = new VehicleFactory();
vehicleObject.getSummary();
vehicleObject.HayloFactory(firstname, lastname, phone, nbrVehicles, nbrTanks);
在调用
HayloFactory
之前,您正在调用
getSummary
——因此它试图在您将对象中的值设置为有用值之前显示它们

此外,所有
calcXyz
方法都引入了新的局部变量,如下所示:

public void calcTotal(){
    double total = subtotal + tax;
}   
相反,他们应该设置字段值:


如果您适当地更改了所有的计算方法,然后将
getSummary()
调用移到最后,它就会工作。(这不完全是我编写代码的方式,但那是另一回事。)

您没有真正描述问题,但我怀疑这就是原因:

VehicleFactory vehicleObject = new VehicleFactory();
vehicleObject.getSummary();
vehicleObject.HayloFactory(firstname, lastname, phone, nbrVehicles, nbrTanks);
在调用
HayloFactory
之前,您正在调用
getSummary
——因此它试图在您将对象中的值设置为有用值之前显示它们

此外,所有
calcXyz
方法都引入了新的局部变量,如下所示:

public void calcTotal(){
    double total = subtotal + tax;
}   
相反,他们应该设置字段值:


如果您适当地更改了所有的计算方法,然后将
getSummary()
调用移到最后,它就会工作。(这不完全是我编写代码的方式,但那是另一回事。)

您没有真正描述问题,但我怀疑这就是原因:

VehicleFactory vehicleObject = new VehicleFactory();
vehicleObject.getSummary();
vehicleObject.HayloFactory(firstname, lastname, phone, nbrVehicles, nbrTanks);
在调用
HayloFactory
之前,您正在调用
getSummary
——因此它试图在您将对象中的值设置为有用值之前显示它们

此外,所有
calcXyz
方法都引入了新的局部变量,如下所示:

public void calcTotal(){
    double total = subtotal + tax;
}   
相反,他们应该设置字段值:


如果您适当地更改了所有的计算方法,然后将
getSummary()
调用移到最后,它就会工作。(这不是我编写代码的方式,但那是另一回事。)

在方法中定义的变量只有局部作用域,例如
双重制造成本=NBR车辆*车辆价格
它实际上隐藏了类变量
manufactureCost

它们应改为用作
manufactureCost=NBR车辆*车辆价格

通过这种方式,您可以实际设置类变量,该类变量依次显示在
getSummary
方法中在方法中定义的变量仅具有局部作用域,例如
双重制造成本=NBR车辆*车辆价格
它实际上隐藏了类变量
manufactureCost

它们应改为用作
manufactureCost=NBR车辆*车辆价格

通过这种方式,您可以实际设置类变量,该类变量依次显示在
getSummary
方法中在方法中定义的变量仅具有局部作用域,例如
双重制造成本=NBR车辆*车辆价格
它实际上隐藏了类变量
manufactureCost

它们应改为用作
manufactureCost=NBR车辆*车辆价格

通过这种方式,您可以实际设置类变量,该类变量依次显示在
getSummary
方法中在方法中定义的变量仅具有局部作用域,例如
双重制造成本=NBR车辆*车辆价格
它实际上隐藏了类变量
manufactureCost

它们应改为用作
manufactureCost=NBR车辆*车辆价格

通过这种方式,您可以实际设置类变量,该类变量依次显示在
getSummary
方法中

哪些值?请给出更多的上下文,最好将代码简化为一个非常简短的例子,再现问题。(一个麻烦的字段就足够了…)哪些值?请给出更多的上下文,最好将代码简化为一个非常简短的例子,再现问题。(一个麻烦的字段就足够了…)哪些值?请给出更多的上下文,最好将代码简化为一个非常简短的例子,再现问题。(一个麻烦的字段就足够了…)哪些值?请给出更多的上下文,最好将代码简化为一个非常简短的例子,再现问题。(一个麻烦的领域就足够了…)太好了,我现在明白了。非常感谢这解决了我的问题。太好了,我现在明白了。非常感谢这解决了我的问题。太好了,我现在明白了。非常感谢这解决了我的问题。太好了,我现在明白了。非常感谢,这解决了我的问题。