我在这里有两个课程,我正在尝试将它们链接在一起但却无法使其工作。一个称为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;
}
}
答案 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
在此查看更多详情:
答案 1 :(得分:0)
可能是因为你的initialise()是静态的。如果它不必是静态的,请取出静态并尝试。
答案 2 :(得分:0)
吸烟者课程最后至少需要两个才能完成代码。
对的套餐不需要;在它之后。
或许代码中的文件之间的分割在问题中没有明确。