Java GUI应用程序打印出错误的结果

Java GUI应用程序打印出错误的结果,java,swing,user-interface,jbutton,actionlistener,Java,Swing,User Interface,Jbutton,Actionlistener,好的,我有一个Java程序,它可以查看门票和点心的销售报告。我已经完成了这个计划。它有两个文件:TheaterSales.java文件和GUI驱动程序类。 在该程序中,用户输入每个售出商品的数量,然后程序确定每个商品的销售额以及所有商品的总销售额。它确定这一点的方式是由用户输入每件售出商品的数量并按下“计算销售总额”按钮。 当我输入每个售出商品的数量时,销售额和总成本都为零。 可能是我没有看到的错误或可能丢失的代码 //Worker Class public class TheaterSales

好的,我有一个Java程序,它可以查看门票和点心的销售报告。我已经完成了这个计划。它有两个文件:TheaterSales.java文件和GUI驱动程序类。 在该程序中,用户输入每个售出商品的数量,然后程序确定每个商品的销售额以及所有商品的总销售额。它确定这一点的方式是由用户输入每件售出商品的数量并按下“计算销售总额”按钮。 当我输入每个售出商品的数量时,销售额和总成本都为零。 可能是我没有看到的错误或可能丢失的代码

//Worker Class
public class TheaterSales_1 {
//Create instance variable for adult tickets, child tickets, popcorn and drinks
private double adultTickets;
private double childTickets;
private double popcorn;
private double drinks;
//Getters and setters for each instance variable    
public double getAdultTickets() {
    return adultTickets;
}
public void setAdultTickets(double adultTickets) {
    this.adultTickets = adultTickets;
}
public double getChildTickets() {
    return childTickets;
}
public void setChildTickets(double childTickets) {
    this.childTickets = childTickets;
}
public double getPopcorn() {
    return popcorn;
}
public void setPopcorn(double popcorn) {
    this.popcorn = popcorn;
}
public double getDrinks() {
    return drinks;
}
public void setDrinks(double drinks) {
    this.drinks = drinks;
}
//Constants for the cost of the tickets and refreshments
final double adult = 9.50;
final double child = 5.75;
final double food = 5.50;
final double beverage = 3.25;
//Two constructors, one must be a default constructor
public TheaterSales_1(){    
    adultTickets = 0;
    childTickets = 0;
    popcorn = 0;
    drinks = 0; 
}
public TheaterSales_1(double adultTickets, double childTickets,
                      double popcorn, double drinks ){  
setAdultTickets(adultTickets);
setChildTickets(childTickets);
setPopcorn(popcorn);
setDrinks(drinks);  
}
//Methods to calculate and return sales for adult tickets, child tickets, popcorn,                                               
    drinks and the total sales
public double getAdultTicketSales()
{
return adultTickets*adult;
}
public double getChildTicketSales()
{
return childTickets*child;
}
public double getPopcornSales()
{
return popcorn*food;
}
public double getDrinkSales()
{
return drinks*beverage;
}
public double getTotalSales()
{
return getAdultTicketSales() + getChildTicketSales() + getPopcornSales()+   
    getDrinkSales();
}

public String toString(){

    String str = "ACME Theater\n\n"; //Title of the Panel

    str += "Adult Tickets " + String.format("$%,.2f", adult);

    str += "Child Tickets " + String.format("$%,.2f", child);

    str += "Popcorn " + String.format("$%,.2f", popcorn);

    str += "Drinks " + String.format("$%,.2f", drinks);

    str += "Total Sales " + String.format("$%,.2f", getTotalSales());       
    return str;

}
}


按钮的侦听器不执行此操作

TS = new TheaterSales_1();
然后从这个新的TheaterSales_1实例中获取值。剧院销售的建设者是这样做的

public TheaterSales_1(){    
    adultTickets = 0;
    childTickets = 0;
    popcorn = 0;
    drinks = 0; 
}

因此,很有可能所有结果都是0。

您是否在调试器IDE中运行此代码,并逐步查看代码以查看异常值的来源?这是你在这里发布之前应该做的。完成后,如果仍然找不到问题,请提出特定问题(比“请调试我的代码”更具体)。请,减少您发布的代码以使其更具可读性我查看了我的actionListener方法,它的输出看起来应该是20张成人票乘以价格:9.50成人票的销售额将显示190美元。是的,我已经调试了它,否则我会问为什么我的构建不干净。我们的教授教我们调试代码,看看代码是否干净。感谢您的洞察力,我明白我现在需要修复和执行什么。
public TheaterSales_1(){    
    adultTickets = 0;
    childTickets = 0;
    popcorn = 0;
    drinks = 0; 
}