Java 编译时找不到符号方法?
由于某些原因,我的tester类无法识别方法类中的方法。帮忙?我遇到了诸如“找不到符号方法digitToBarCode(int)”和“找不到符号方法checkDigit(int)”之类的错误 测试人员班在这里Java 编译时找不到符号方法?,java,methods,compiler-errors,Java,Methods,Compiler Errors,由于某些原因,我的tester类无法识别方法类中的方法。帮忙?我遇到了诸如“找不到符号方法digitToBarCode(int)”和“找不到符号方法checkDigit(int)”之类的错误 测试人员班在这里 import java.util.Scanner; public class ZipCodeConverter { public static void main(String[] args) { Scanner input = new Scanner(System.in);
import java.util.Scanner;
public class ZipCodeConverter
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter a zip code: ");
int zip = input.nextInt();
int checkDigit = checkDigit(zip);
String digitPrint=digitToBarCode(checkDigit);
int specificNum1=(int)((zip / Math.pow(10, 5-1)) % 10);
String swag1=digitToBarCode(specificNum1);
int specificNum2=(int)((zip / Math.pow(10, 4-1)) % 10);
String swag2=digitToBarCode(specificNum2);
int specificNum3=(int)((zip / Math.pow(10, 3-1)) % 10);
String swag3=digitToBarCode(specificNum3);
int specificNum4=(int)((zip / Math.pow(10, 2-1)) % 10);
String swag4=digitToBarCode(specificNum4);
int specificNum5=(int)((zip / Math.pow(10, 1-1)) % 10);
String swag5=digitToBarCode(specificNum5);
String y=swag1+swag2+swag3+swag4+swag5;
System.out.println("|"+y+digitPrint+"|");
}
}
调用另一个类的静态方法时,请指定类名
int checkDigit = ZipCode.checkDigit(zip);
String digitPrint=ZipCode.digitToBarCode(checkDigit);
找不到符号
,因为编译器在类ZipCodeConverter
中找不到checkDigit
方法,因为它存在于ZipCode
类中
例如,在代码中有一条语句
Math.pow(10,3-1))
Math
是类名,pow()
是其中的一个静态方法。因此,您将其称为Math.pow()
方法的调用方式checkDigit(zip);如果是错误的,checkDigit(zip)是一个静态方法,因此它意味着它属于创建它的类。所以
你可以通过
int checkDigit = ZipCode.checkDigit(zip);
String digitPrint = ZipCode.digitToBarCode(checkDigit);
或者您可以扩展ZipCode
,因为您在main内部调用它,main也是静态的:
// this will able you to call method directly
public class ZipCodeConverter extends ZipCode{
必须在方法前面添加类名:
int checkDigit = checkDigit(zip);
String digitPrint=digitToBarCode(checkDigit
一定是
int checkDigit = ZipCode.CcheckDigit(zip);
String digitPrint=ZipCode.digitToBarCode(checkDigit);
int checkDigit = ZipCode.CcheckDigit(zip);
String digitPrint=ZipCode.digitToBarCode(checkDigit);