我几乎完全是Java和编程的新手(我的主要学位是Law,但我希望能够打开自己的编程,因为我真的相信它会在几年内成为一项必不可少的技能).
我已经创建了两个课程,LabClass并且Student重点是让学生加入课堂,同时为他们提供注册学分.
这Student是我正在尝试访问的班级中的方法:
public void addCredits(int additionalPoints)
{
credits += additionalPoints;
}
Run Code Online (Sandbox Code Playgroud)
这LabClass是我正在尝试使用的班级方法:
public void enrollStudent(Student newStudent)
{
if(students.size() == capacity) {
System.out.println("The class is full, you cannot enrol.");
}
else {
students.add(newStudent);
}
students.addCredits(50);
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么BlueJ说它找不到方法"addCredits".我是一个真正的初学者,所以如果这是一个愚蠢的问题我很抱歉,但任何帮助将不胜感激!
我有一个LinkedHashMap包含一个对象at key和一个at value.
我用过了代码
yourShots.keySet().toArray()[yourShots.size()-1]
Run Code Online (Sandbox Code Playgroud)
返回的最后一个对象keys.但是,我无法访问该对象具有的方法.
我已经使用该getClass()方法确定我确实拥有正确类型的对象,但无法调用该方法.我只是得到了无法找到该方法的错误.
难道我做错了什么?
我正在用Java构建一个基本的战舰式游戏,并使用嵌套列表来表示游戏网格.但是,当我试图放下一艘船时,我一直得到IndexOutOfBoundsException.
游戏板具有如下构造函数
public Board(){
theSea = new ArrayList<ArrayList<ShipInterface>>(10);
for(int i = 0; i < theSea.size(); i++){
theSea.set(i, new ArrayList<ShipInterface>(10));
}
}
Run Code Online (Sandbox Code Playgroud)
放置船舶的方法如下:
public void placeShip(ShipInterface ship, Position position, boolean isVertical) throws InvalidPositionException, ShipOverlapException{
for(int i=0; i<ship.getSize(); i++){
theSea.get((position.getX()-1) + i).set(position.getY()-1, ship);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到了错误 theSea.get((position.getX()-1) + i).set(position.getY()-1, ship);
我是初学者,如果我错过了一些明显的代码,我很抱歉!