Как я могу использовать определенный объект в качестве входной переменной? - PullRequest
0 голосов
/ 22 марта 2020

Я определил класс Coordinates прежде, так как он принимает два целых числа, теперь я хочу использовать его где-нибудь в моем другом классе, как

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)
    }

, но я не знаю, и объект location также не делает принять х и у! что я могу сделать?

здесь вы найдете код для координат:

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();
    }
}

как можно определить переменную местоположения вне координат и определить ее на границе?

1 Ответ

0 голосов
/ 22 марта 2020

В классе Coordinates есть геттеры, поэтому в методе isLocationValid() вызовите location.getX() и location.getY(). Чтобы расширить ваш пример:

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;
}
...