2011-08-24 9 views
1

안녕하세요.이 질문은 꽤 오랜 시간이지만, printPASSInfo()를 pm.printPASSInfo()를 사용하여 다른 클래스에 호출 할 수 없습니다. pm은 내가 호출하려고하는 메소드가있는 클래스의 이름입니다. pm.printSSNInfo 메소드를 호출하면 잘못되었다는 것을 이해할 수 없습니다. 죄송합니다. 아마도 혼란스럽고 오래지만 도움을 주시기 바랍니다. 고마워요!자바 코드는 한 클래스에서 다른 클래스로 메소드를 호출하지 못하도록합니다.

case 2:  System.out.println("Enter a password witha atleast 8 characters and atleast 2 numbers:\t"); 
         pw = input.nextLine(); 
         pm.readAndVerifyPASS(pw); 
         pm.printPASSInfo(); 
         break; 

과 comile 오류 :

:

MySkeletonProgram1_FA11.java:53: cannot find symbol 
symbol : method printPASSInfo() 
location: class Prog1Methods_FA11 
          pm.printPASSInfo(); 
                 ^
1 error 

나는 오후 객체를 선언 할 경우 Heres는 내 코드 : 내가 전화를 시도하고 그 다음에

하고있다

public class MySkeletonProgram1_FA11{ 
    public static void main(String[] args)throws Exception { 

// Declarations 

Scanner scan = new Scanner(System.in); 
Scanner input = new Scanner (System.in); 
Prog1Methods_FA11 pm = new Prog1Methods_FA11(); 
+5

해당 메소드를 호출하려는 문장/컨텍스트를 표시하십시오. 컴파일러 오류를 보여주십시오. –

+3

그리고 앞으로는 여분의 인쇄물, 빈 방법, 사용하지 않는 변수 등의 문제에 영향을주지 않는 관계없는 코드는 생략 할 수 있습니다. 때로는 자신 만의 문제를 이런 방식으로 격리하고 해결할 수도 있습니다. – Steven

+0

ive 이걸 한 시간 동안 쳐다 보면서 havent이 무엇인가를 발견했는데, 그 이유는 내가 싫어하는 어떤 무언가가 있다고 생각한 이유입니다. – Josh

답변

1

나는 당신의 질문을 얼마나 잘 이해하고 있는지 잘 모르겠습니다. 방금 ​​오류를 재현하려고했습니다.
그래서, 내가 한 일.
1. 파일 MySkeletonProgram1_FA11.java 내가 같은 디렉토리에 두 파일을 넣어했습니다

import java.util.Scanner; 

public class Prog1Methods_FA11 { 

String ssn, pw, phoneNumber, line; 
Scanner input = new Scanner(System.in); 
boolean validPW_Length = true, 
     validPW_Symbols = true, 
     validPW_enough_Digits = true; 
boolean validSSN_Digits = true, 
     validSSN_Format = true, 
     validSSN_Length = true; 
boolean validPhone_Symbols = true, 
     validPhone_Format = true, 
     validPhone_Length = true; 

public Prog1Methods_FA11() { 
} 

// you may insert a method here to display password status 
public void printPASSInfo() { 
    System.out.println("\t Password Information"); 
    System.out.println("The Password:\t" + pw); 
    System.out.println("Password Lrngth:\t" + validPW_Length); 
    System.out.println("Password has minimum number of digits:\t" + validPW_enough_Digits); 
    System.out.println("Password has correct symbols:\t" + validPW_Symbols); 
} 
} 

3.

public class MySkeletonProgram1_FA11 { 

public static void main(String[] args) throws Exception { 
    Prog1Methods_FA11 pm = new Prog1Methods_FA11(); 
    pm.printPASSInfo(); 
} 
} 

2. 파일 Prog1Methods_FA11.java.
4. 컴파일 명령

javac MySkeletonProgram1_FA11.java 

컴파일 오류 및 경고없이 성공적으로 완료.

효과가 있습니까? 대답이 "아니오"이면 JDK에 문제가 있다고 생각합니다. 그렇지 않으면 추가 세부 정보를 제공 할 수 있습니다. 너 뭐 다르게하고있어?

+0

예, 전체 프로그램이 이러한 방식으로 작동합니다. 나는 그것을 닦아내고 완전히 끝내야 할 것이다 :(여러분의 인내와 도움을 위해 모두에게 감사드립니다 !! – Josh

0

붙여 넣은 클래스를 사용하면 정상적으로 실행됩니다.

public static void main(String[] args) { 
    Prog1Methods_FA11 pm = new Prog1Methods_FA11(); 
    String pw = "foo"; 
    pm.readAndVerifyPASS(pw); 
    pm.printPASSInfo(); 
} 

시도해보고 오류가 있다면 게시하십시오.

+0

이 메시지가 계속 : MySkeletonProgram1_FA11.java:53을 : 기호 기호를 찾을 수 없습니다 : 방법 printPASSInfo() 위치 : 클래스를 Prog1Methods_FA11 \t \t \t \t \t \t \t pm.printPASSInfo(); ^ 1 오류 – Josh

+0

이 메소드를 인스턴스화 할 수는 있지만 메소드를 호출 할 수없는 경우 Prog1Methods_FA11.java –

0

코드가 정상적으로 보입니다. 오류 메시지는 컴파일되지 않은 코드로 인한 것일 수 있습니다. 다시 컴파일/빌드하고 실행하십시오.

+0

을 다시 컴파일해야하는 것처럼 들립니다. 프로그램을 종료하고 모든 오류를 다시 컴파일하십시오. – Josh

+0

IDE에서 작은 HelloWorld 프로그램을 만드는 것이 좋습니다. HelloWorld 프로그램이 오류없이 실행되면 프로그램이 제대로 실행되어야합니다. – gtiwari333

관련 문제