【发布时间】:2019-12-08 08:55:05
【问题描述】:
我有一个名为Posicion 的类,它有两个属性,我只需将参数中的一个从Posicion 传递给名为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.)
}
我有一个语法错误。 非常感谢!!!!!!
【问题讨论】:
标签: java syntax parameters