Java GUI应用程序打印出错误的结果
好的,我有一个Java程序,它可以查看门票和点心的销售报告。我已经完成了这个计划。它有两个文件:TheaterSales.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
//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;
}