Начните изучать Java, и у меня есть проблема, которую я хочу решить - PullRequest
0 голосов
/ 01 апреля 2012

У меня есть ошибка, которую я не могу найти, у меня есть Class Point с методом, который получает другую точку и возвращает true, если моя точка находится под другим poing, и false, если нет, моя проблема в том, если мое свойство point x равно другой точкеСи все еще получил истину, которая является неправильной:

public class Point
{
    private double _x;
    private double _y;

    public Point(double x,double y)
    {
        _x = x;
        _y = y;
    }

    public boolean isAbove(Point other)
    {
        if (_x > other._x)
        {
            return true;
        }
        else 
        {
            return false;
        }
    }

    public boolean isUnder(Point other)
    {   
        if (isAbove(other))
        {
            return false;
        }
        else
        {
            return true;
        }
    }
}

Ответы [ 3 ]

3 голосов
/ 01 апреля 2012

Попробуйте:

public boolean isAbove(Point other)
{
    return (_x > other._x);
}

public boolean isUnder(Point other)
{   
    return (_x < other._x);
}

Почему у вас была ошибка: потому что противоположность A < B это A >= B, а не A > B.

1 голос
/ 01 апреля 2012

Одна точка, находящаяся под другой, не совсем совпадает с противоположностью одной, находящейся над другой - потому что точки на одном уровне (их x одинаковые) ни выше, ни ниже друг друга.Таким образом, вам нужен совершенно отдельный код для isAbove и isUnder:

public class Point
{
    private double _x;
    private double _y;

    public Point(double x,double y) {
        _x = x;
        _y = y;
    }

    public boolean isAbove(Point other) {
        return (_x > other._x);
    }

    public boolean isUnder(Point other) {
        return (_x < other._x);
    }
}
0 голосов
/ 01 апреля 2012
if (isAbove(other))

Здесь вы проверяете, не выше ли оно, поэтому оно может быть меньше или равно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...