Mohsen :
I have defined the Coordinates class before as it takes two integers, now i want to use it somewhere in my other class like
public boolean isLocationValid( Coordinates location ){
...and here I want to define that location should be in the boundaries (for example 0<x<10 and 0<y<10)
}
but I don't know and the location object also do not accept x and y!! what can i do?
here you find the Code for Coordinates:
import java.util.IdentityHashMap;
public class Coordinates {
private int x ;
private int y ;
public Coordinates(){ //default constructor
this.x = 0;
this.y = 0;
}
public Coordinates(int x, int y){ //parameterized constructor
this.x = x;
this.y = y;
}
//getter and setter
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
//the outcome of the rows should be in Letters, so I defined the Hashmap for the alphabet
static IdentityHashMap<Integer, String> Row = new IdentityHashMap<Integer, String>();
/*Adding elements to HashMap*/
static {
Row.put(0, "A");
Row.put(1, "B");
Row.put(2, "C");
Row.put(3, "D");
Row.put(4,"E");
Row.put(5, "F");
Row.put(6, "G");
Row.put(7, "H");
Row.put(8, "I");
Row.put(9, "J");
Row.put(10, "K");
Row.put(11, "L");
Row.put(12, "M");
Row.put(13, "N");
Row.put(14, "O");
Row.put(15, "P");
Row.put(16, "Q");
Row.put(17, "R");
Row.put(18, "S");
Row.put(19, "T");
Row.put(20, "U");
Row.put(21, "V");
Row.put(22, "W");
Row.put(23, "X");
Row.put(24, "Y");
Row.put(25, "Z");
}
public String toString() {
return Row.get(getX())+getY();
}
}
how is it possible to define the location variable out of Coordinates and define it in the boundary?
Andrew S :
There are getters on the Coordinates
class, so within the isLocationValid()
method, call location.getX()
and location.getY()
. To expand your example:
public boolean isLocationValid( Coordinates location ){
// ...and here I want to define that location should be in the boundaries (for example 0<x<10 and 0<y<10)
return isBetweenMinAndMax(location.getX() && isBetweenMinAndMax(location.getY()))
}
private final int MIN_EXCLUSIVE = 0;
private final int MAX_EXCLUSIVE = 10;
private isBetweenMinAndMax(int value) {
return value > MIN_EXCLUSIVE && value < MAX_EXCLUSIVE;
}
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=344916&siteId=1