2015-05-13 90 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

吸菸者類最後需要至少兩個}來完成代碼。

對包裝不需要;之後。

也許你的代碼中的文件之間的分裂在問題中沒有明確。