Java 我的事件处理程序不断报告重载方法的错误
我正在使用Java,我正在尝试调用事件处理程序中的重载方法Java 我的事件处理程序不断报告重载方法的错误,java,Java,我正在使用Java,我正在尝试调用事件处理程序中的重载方法calculateCost()和calculateCost(int,boolean)是我现在重载的方法。 这是calculateCost(int,boolean)以及下面的calculateCost()方法: public double calculateCost() { //calculates cost of computer &peripherals. if (printerCB.isSelected()) {
calculateCost()
和calculateCost(int,boolean)
是我现在重载的方法。
这是calculateCost(int,boolean)
以及下面的calculateCost()
方法:
public double calculateCost() { //calculates cost of computer &peripherals.
if (printerCB.isSelected()) {
return baseComputer() + printer();
}
if (dellMouseCB.isSelected()) {
return baseComputer() + dellMouse();
}
if (logiKeyboardCB.isSelected()) {
return baseComputer() + logiKeyboard();
}
if (canonScannerCB.isSelected()) {
return baseComputer() + canonScanner();
}
if (razerMouseCB.isSelected()) {
return baseComputer() + razerMouse();
}
if (razerKeyboardCB.isSelected()) {
return baseComputer() + razerKeyboard();
}
return baseComputer();
}
public double claculateCost(int quant, boolean shipp) { //calculates the shipping rate for the computer, &peripherals.
quant = 1;
double total = calculateCost();
if (groundShipRB.isSelected() || airShipRB.isSelected() || fedExRB.isSelected()) {
shipp = true;
if (shipp == true) {
{
if (groundShipRB.isSelected()) {
while (quant >= 100) {
return calculateCost() * 0.05;
}
}
if (airShipRB.isSelected()) {
return calculateCost() * 0.10;
}
if (fedExRB.isSelected()) {
return calculateCost() * 0.20;
}
}
}
}
return 0;
}
这是事件处理程序中的代码:
private void costCalcWShipButtonActionPerformed(java.awt.event.ActionEvent evt) {
int quant = 1;
double dsqnt = 0.00;
double cost = calculateCost();
boolean shipp = false;
double rate = calculateCost(quant, shipp);
outputTextPane.setText("");
outputTextPane.setText(outputTextPane.getText() + "Quantity." + "\t\t" + "Price." + "\t\t" + "Shipping rate" + "\t\t" + "Quantity discount(per $100)." + "\n");
outputTextPane.setText(outputTextPane.getText() + quant + "\t\t" + cost * quant + "\t\t" + rate + "\t\t" + discountPercentage(quant, dsqnt) + "\n");
for (quant = 100; quant <= 1000; quant = quant + 100) {
outputTextPane.setText(outputTextPane.getText() + quant + "\t\t" + cost * quant + "\t\t" + rate + "\t\t" + discountPercentage(quant, dsqnt) + "\n");
}
}
这让我困惑了一段时间,我能得到任何反馈来让它工作吗?您的代码中有一个拼写错误:
clacutecost
而不是calculateCost
(在方法定义中)。谢谢,人们忽视拼写错误是常见的吗?@pati3ntzero不,如果您使用IDE。
error: method calculateCost in class compCostCalc cannot be applied to given types;
int quant=1;double dsqnt=0.00;double cost=calculateCost();boolean shipp=false;double rate=calculateCost(quant,shipp);
required: no arguments
found: int,boolean
reason: actual and formal argument lists differ in length
1 error.