2014-03-28 65 views
0

收到“Just Tax”问题。程序编译时,不会计算销售税 - 仅返回“0”。然而,“销售”方法(不在列出的代码中)将确认并打印出售金额。不知道我做错了什么。谢谢!Java:返回用户输入

//... 
    Purchase saleAmount = new Purchase(); 

    //... 

    System.out.println("Please enter a positive (+) number for the sale amount: $"); 
    double saleAmt = input.nextDouble(); 
    saleAmount.setSale(saleAmt); 

    //... 

    System.out.println("The 5% tax applied is: " + saleAmount.getJustTax()); 

public class Purchase 
//all data types have been declared 
final double SALES_TAX = 0.05; 
{ 
    //Initial Sale Cost 
    public double getSale() 
{ 
    return sale; 
} 

    public void setSale(double amount) 
{ 
    amount = sale; 
} 

//Get Just Sales Tax 
    public double getJustTax() 
{ 
    return justTax; 
} 
    public void setJustTax(double sale) 
{ 
    justTax = (sale * SALES_TAX); 
} 

}

+0

你调用了'setJustTax()'来计算'justTax'吗? – nikis

回答

1

分配在setSale方法是倒退。目前,它会将sale中的内容分配给您的本地变量amount

变化

public void setSale(double amount) 
{ 
    amount = sale; 
} 

public void setSale(double amount) 
{ 
    sale = amount; 
} 
+0

谢谢,rgettman – ewbrowning

1
public void setSale(double amount) 
{ 
    amount = sale; 
} 

这是导致该问题。你现在正在做的是采取方法参数并为其分配sale变量。 (但是我在代码中看不到它)。

public void setJustTax(double sale) 
{ 
    justTax = (sale * SALES_TAX); 
} 

这意味着,当上面的代码被调用时,sale还是没有价值吧,我会猜销售进行实例化0