2015-05-13 93 views
2

我在这里有两个类,我试图链接在一起,但无法使其工作。一个叫smokers,一个叫Pair将两个类连接在一起

我的编译器正在喷出错误,说它找不到符号pair

我已将它们放在同一个包中。不知道为什么它没有注册它。

package smokerz; 

import java.util.*; 


public class smokers{ 

    //initialise 
    //create a node inner class which has the nodes position 
    //make 2D array of nodes 
    // 
    public static void main(String[]args){ 
     initialise(); 

    } 

    public static void initialise(){ 
     List<Pair<Integer, Integer>> pairedCoordinates = new ArrayList<Pair<Integer, Integer>>(); 
     Scanner scan = new Scanner(System.in); 
     int line = 0; 

     //for board boundaries 
     int boardX; 
     int boardY; 
     while (scan.hasNextLine()){ 
      //means we're reading the board coordinates 
      if (line == 0){ 
       boardX = scan.nextInt(); 
       boardY = scan.nextInt(); 
      } 
      int nonSmokersPosX; 
      int nonSmokersPosY; 
      nonSmokersPosX = scan.nextInt(); 
      nonSmokersPosY = scan.nextInt(); 
      pairedCoordinates.add(new Pair(nonSmokersPosX, nonSmokersPosY)); 
      line++; 
     } 


package smokerz; 

public class Pair<X, Y>{ 

    private X xcoord; 
    private Y ycoord; 

    public Pair(X xcoord, Y ycoord){ 
     this.xcoord = xcoord; 
     this.ycoord = ycoord; 

    } 
    public X getXCoord(){ 
     return xcoord; 
    } 

    public Y getYCoord(){ 
     return ycoord; 
    } 
    public void setXCoord(X x){ 
     this.xcoord = x; 
    } 
    public void setYCoord(Y y){ 
     this.ycoord = y; 
    } 
} 
+1

请发布您的堆栈跟踪。使用诸如“链接”之类的术语听起来就像是在使用C++(嗯......过去的美好时光)。 –

+0

smokers.java:19:找不到符号 符号:类对 位置:类smokerz.smokers \t \t列表<配对<整数,整数>> pairedCoordinates =新的ArrayList <配对<整数,整数>>(); \t \t^ 吸烟者。java:19:找不到符号 symbol:class Pair location:class smokerz.smokers \t \t List > pairedCoordinates = new ArrayList >(); \t \t^ smokers.java:36:找不到符号 符号:类对 位置:类smokerz.smokers \t pairedCoordinates.add(双新(nonSmokersPosX,nonSmokersPosY)); –

+0

我想在我的吸烟班里创建我的配对班的一个实例。 –

回答

1

强烈建议:说出你的第一堂课“吸烟者”(首都“S”)。

问:“Pair.java”是否实际编译?我怀疑不是。

请尝试编译“Pair”,并请更新您的文章并显示错误消息(如果适用)。

============================================== ========

附录:

它只是发生在我身上发生了什么事错了 - 你正在使用的软件包,但你忘了考虑它们在编译(好!)从命令行(IDE将自动为您执行的操作)。

请做到这一点:

1)mkdir smokerz # Create a subdirectory for your Java package

2)cp smokers.java Pair.java smokerz # Copy your source to "smokerz"

3)javac smokerz\Pair.java # Compile your two files in the directory *above*

javac smokerz\smokers.java

4)运行程序

java smokerz.smokers

在这里寻找更多详情:

http://www.jarticles.com/package/package_eng.html

+0

它编译是的。 –

+0

编译Pair类。当我编译Smokers类时,它会在之前的评论中提供错误消息。 –

0

它可能是因为你有你的initialise()作为静态的。如果它不一定是静态的,请将静态输出并尝试。

+0

这应该没有什么区别。 –

0

吸烟者类最后需要至少两个}来完成代码。

对包装不需要;之后。

也许你的代码中的文件之间的分裂在问题中没有明确。