2011-08-24 55 views
1

嘿家伙对不起,这是一个相当长的问题,但我无法使用pm.printPASSInfo()将printPASSInfo()调用到另一个类。 pm是我命名的类的名称,我试图调用的方法是。我可以调用方法pm.printSSNInfo就好,我不明白发生了什么问题。我很抱歉,这可能是令人困惑和很长时间,但请尝试帮助。多谢你们!我的继承人代码:Java代码不让我调用从一个类到另一个类的方法

和这里就是我想称之为:

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 

当我宣布下午对象:

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

我一直盯着这一个小时,还没有找到任何东西,这就是为什么我认为有一些随机的东西,我被阻止... – Josh

回答

1

我不确定我的理解能力如何。 我只是试图重现错误。
所以,我做了什么。
1.文件MySkeletonProgram1_FA11.java

public class MySkeletonProgram1_FA11 { 

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

2.文件Prog1Methods_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.我已经把两个文件在同一目录下。
4.编译命令

javac MySkeletonProgram1_FA11.java 

编译成功完成没有错误和警告。

它适合你吗?如果答案是“否”,那么我认为这是JDK的问题。否则,您可能需要提供更多详细信息。你有什么不同?

+0

是的,整个程序都是这样做的。我将不得不擦拭它,并开始完全...... :(谢谢大家的耐心和帮助! – Josh

0

随着你粘贴的类,这个编译一个nd运行正常:

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

相关问题