我有一个名为 Posicion
的类(class)有两个属性,我只需要传递参数 Posicion
中的这些属性之一到类(class) Caballo
。
来自 Caballo
的构造函数方法必须接受 Posicion
类型的一个参数,但只有其属性之一,特别是名为 columna
的参数。
我的意思是,我有一个语法问题。
我尝试放入 Caballo
的构造函数方法类这个:
Caballo(Color color, Posicion.columna)
但显然它给了我一个错误。
位置类别:
public class Posicion {
private int fila;
private char columna;
Posicion (int fila, char columna){
if (fila < 1 || fila > 8 || columna < 'a' || columna > 'h') {
throw new IllegalArgumentException("Valores fuera de rango");
}else {
this.fila=fila;
this.columna=columna;
}
}
Posicion (Posicion p){
fila=p.fila;
columna=p.columna;
}
public boolean equals(Posicion fc_A, Posicion fc_B) {
if (fc_A.fila == fc_B.fila && fc_A.columna == fc_B.columna) {
return true;
}else {
return false;
}
}
public void setFila(int fila) {
if (fila < 1 || fila > 8) {
throw new IllegalArgumentException("Los números de fila"
+ "deben estar comprendidos entre 1 y 8 ambos inclusive");
}else {
this.fila=fila;
}
}
public int getFila() {
return this.fila;
}
public void setColumna(char columna) {
if (columna < 'a' || columna > 'h') {
throw new IllegalArgumentException("Las columnas deben estar comprendidas entre las letras"
+ "a y h");
}else {
this.columna=columna;
}
}
public char getColumna() {
return columna;
}
public String toString() {
String mensaje="El caballo se encuentra en la posición fila: " + fila + " "
+ "columna: " + columna;
return mensaje;
}
}
Caballo 类直到构造函数第三个构造函数方法:
public class Caballo {
private Color color;
private Posicion posicion;
Caballo(){
posicion.setFila(8);
posicion.setColumna('b');
}
Caballo(Color color){
this.color=color;
if(this.color==Color.BLANCO) {
this.posicion.setFila(1);
this.posicion.setColumna('b');
}else if (this.color==Color.NEGRO) {
this.posicion.setFila(8);
this.posicion.setColumna('b');
}
}
Caballo(Color color, Posicion.columna){ <-- This is the error
this.color=color;
this.posicion=columna;
if(this.posicion.)
}
我有一个语法错误。 非常感谢!!!!
最佳答案
您尚未指定第二个参数的类型和变量名称:
Caballo(Color color, Posicion.columna){ <-- This is the error
我猜你想要一个空间:
Caballo(Color color, Posicion columna){ <-- This is the error
关于java - 我需要通过参数仅传递类的几个属性之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57280568/