Java 编译时找不到符号方法?

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);

由于某些原因,我的tester类无法识别方法类中的方法。帮忙?我遇到了诸如“找不到符号方法digitToBarCode(int)”和“找不到符号方法checkDigit(int)”之类的错误

测试人员班在这里

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);