将两个类链接在一起

时间:2015-05-13 00:56:47

标签: java class

我在这里有两个课程,我正在尝试将它们链接在一起但却无法使其工作。一个称为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;
    }
}

3 个答案:

答案 0 :(得分:1)

强烈建议:将您的第一堂课命名为“吸烟者”(大写“S”)。

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

请尝试编辑“配对”,并请更新您的帖子并附上错误消息(如果适用)。

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

附录:

我刚刚遇到了什么问题 - 你正在使用软件包(好!),但是当你从命令行编译时(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

答案 1 :(得分:0)

可能是因为你的initialise()是静态的。如果它不必是静态的,请取出静态并尝试。

答案 2 :(得分:0)

吸烟者课程最后至少需要两个才能完成代码。

对的套餐不需要;在它之后。

或许代码中的文件之间的分割在问题中没有明确。