所以我正在尝试为一个更大的任务创建一个名为“Move”的类。在这个类中,有一个2“Move”构造函数:一个只接受行和列的变化(2个参数)并调用移动“Move”,一个接受移动名称,行中的变化,以及列的变化(3个参数)。
但是当我尝试编译我的.java文件时,它告诉我它在构造函数完成之前需要一个“)”来定义它需要的参数。
public class Move {
private String moveName;
private int rowDelta;
private int colDelta;
public Move(int rowDelta, int colDelta) {
this("Move", rowDelta, colDelta);
}
public Move(String moveName; int rowDelta; int colDelta) {
this.moveName = moveName;
this.rowDelta = rowDelta;
this.colDelta = colDelta;
}
public int getRowDelta() {
return rowDelta;
}
public int getColDelta() {
return colDelta;
}
public String toString() {
return moveName;
}
}
它给我的错误如下:
Move.java:11: error: ')' expected
public Move(String moveName; int rowDelta; int colDelta) {
^
Move.java:11: error: ';' expected
public Move(String moveName; int rowDelta; int colDelta) {
^
2 errors
答案 0 :(得分:4)
;
用于结束陈述。因此,您不应该使用它们来分隔参数:
public Move(String moveName; int rowDelta; int colDelta)
改为使用,
:
public Move(String moveName, int rowDelta, int colDelta)
答案 1 :(得分:4)
学习Java语法,您应该使用逗号而不是分号。替换这个:
Move(String moveName; int rowDelta; int colDelta)
使用
Move(String moveName, int rowDelta, int colDelta)
答案 2 :(得分:2)
更改此
public Move(String moveName; int rowDelta; int colDelta) {
到
public Move(String moveName, int rowDelta, int colDelta) {
我认为你对for
循环感到困惑。这些不是statements
最后有分号。它们只是parameters
方法的一部分,应由,
答案 3 :(得分:2)
使用逗号分隔在函数内传递的值。
你可以用“;”仅在for循环中分离参数
答案 4 :(得分:1)
此public Move(String moveName; int rowDelta; int colDelta)
错误,您需要
public Move(String moveName, int rowDelta, int colDelta) // comma, not semi-colon