Java-错误:找不到符号
我正在编写一个程序,从同一文件夹中的不同类调用“invoice”方法。我不断得到以下错误:Java-错误:找不到符号,java,Java,我正在编写一个程序,从同一文件夹中的不同类调用“invoice”方法。我不断得到以下错误: error: cannot find symbol strInvoice = invoice(); ^ symbol: method invoice() 以下是我在程序中调用该方法的方式: strInvoice= invoice(); JOptionPane.showInputDialog(null, strInvoice, "*Name*'s Party Store", -
error: cannot find symbol
strInvoice = invoice();
^
symbol: method invoice()
以下是我在程序中调用该方法的方式:
strInvoice= invoice();
JOptionPane.showInputDialog(null, strInvoice, "*Name*'s Party Store", -1);
这是位于同一文件夹中的类文件中的方法的外观:
public String invoice()
{
String strInfo=""; //string returned containing all the information
double dBalloonNoDiscount; //balloon total without discount
double dCandleNoDiscount; //candle total without discount
double dBannerNoDiscount; //banner total without discount
double dSubtotal; //subtotal
double dTax; //tax
double dShippingCost; //shipping cost
double dTotal; //total
String strShippingType; //shipping type
dBalloonNoDiscount = balloons * 2.50;
dCandleNoDiscount = candles * 6.00;
dBannerNoDiscount = banners * 2.00;
dSubtotal = subtotal();
dTax = tax();
dShippingCost = shippingCost();
strShippingType = shippingType();
dTotal = orderTotal();
strInfo += "\nQuantity"
+ "\n\nBalloons: " + balloons + " @ $2.50 = "
+ df.format(dBalloonNoDiscount) + "* Discount Rate: "
+ df.format(discount('B')) + " = "
+ df.format(subtotal('B'))
+ "\n\nCandles: " + candles + " @ 6.00 = "
+ df.format(dCandleNoDiscount) + "* Discount Rate: "
+ df.format(discount('C')) + " = "
+ df.format(subtotal('C'))
+ "\n\nBanners: " + banners + " @ $2.50 = "
+ df.format(dBannerNoDiscount) + "* Discount Rate: "
+ df.format(discount('N')) + " = "
+ df.format(subtotal('N'))
+ "\nSubtotal: " + df.format(dSubtotal)
+ "\n Tax: " + df.format(dTax)
+ "\nShipping: " + df.format(dShippingCost) + " - "
+ strShippingType
+ "\n Total: " + dTotal;
return strInfo;
}
我希望这是足够的信息。我就是找不到问题 如果希望能够从不同的类调用方法,则需要将该方法设置为静态,或者需要在定义该方法的类中获取该方法的实例 在您的情况下,您可能需要一个实例,例如:
YourClass instance = new YourClass();
后来:
strInvoice = instance.invoice();
如果希望能够从不同的类调用方法,则需要使该方法成为静态的,或者需要获取定义该方法的类的实例 在您的情况下,您可能需要一个实例,例如:
YourClass instance = new YourClass();
后来:
strInvoice = instance.invoice();
那么你就这样称呼它:
strInvoice= invoice();
无法工作,因为您需要将此方法调用为:
strInvoice = obj.invoice();
其中obj是另一个类的实例
或者,如果invoice()
方法是public static
,则您也可以这样调用它:
strInvoice = SomeClass.invoice();
那么你就这样称呼它:
strInvoice= invoice();
无法工作,因为您需要将此方法调用为:
strInvoice = obj.invoice();
其中obj是另一个类的实例
或者,如果invoice()
方法是public static
,则您也可以这样调用它:
strInvoice = SomeClass.invoice();
如果调用的方法位于调用该方法的类之外,则在调用方法之前需要引用 正如在您的例子中,invoice()方法在其他类中可用,并且您在其他类中调用此方法,因此您需要invoice()方法所在的类(对象)的引用。 例如:
ClassA object = new ClassA();
object.invoice(); // assume invoice method is available in ClassA.
如果调用的方法位于调用该方法的类之外,则在调用方法之前需要引用 正如在您的例子中,invoice()方法在其他类中可用,并且您在其他类中调用此方法,因此您需要invoice()方法所在的类(对象)的引用。 例如:
ClassA object = new ClassA();
object.invoice(); // assume invoice method is available in ClassA.
我建议你复习一下OO和Java的一些基础知识,试着做几个简单的例子,然后试试这个。从长远来看,这肯定会有帮助。我建议你复习一下OO和Java的一些基础知识,试着做几个简单的例子,然后试试这个。从长远来看,这肯定会有帮助。非常感谢你的帮助!非常感谢你的帮助!