2016-04-26 2 views
-3

Может кто-то, пожалуйста, помогите мне с этой ошибкой. Я пытаюсь изучить Java самостоятельно и не уверен, что вызывает ошибку?Конструктор не определен?

/* 
* Without changing the Point class, add any arguments to the constructor 
* below so that the error goes away. 
*/ 

public Point p04Constructor() { 
    return new Point(); 
} 

Вот класс точка:

public class Point { 

private int _x; 
private int _y; 

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

public void move(int dx, int dy) { 
    _x = _x + dx; 
    _y = _y + dy; 
} 

public void flip() { 
    _x = _y; 
    _y = _x; 
} 

public void setY(int _y) { 
    _y = 2; 
} 

public int getY() { 
    return _y; 
} 

public String toString() { 
    return "(" + _x + "," + _y + ")"; 
} 

}

Пожалуйста, дайте мне знать, что вы думаете. Я уже пытался делать то, что было предложено в комментариях, и продолжать получать ошибки.

+1

Можете ли вы показать нам свой класс очков? –

+0

Ошибка говорит: «Конструктор Point() не определен» –

+3

... посмотрите на комментарий .. вид выглядит как назначение, поэтому вам, вероятно, нужно добавить что-то в 'Point()', чтобы ошибка исчезла. . – 3kings

ответ

0

Как уже отмечалось в комментарии, вам необходимо передать правильные параметры для конструктора. Так что что-то подобное должно компилироваться.

public Point p04Constructor() { 
    return new Point(0, 0); 
} 

Вам нужно добавить 2 int параметры с Point класса вы дали нам только один конструктор, и это требует 2 int переменные, которые будут переданы ему.

public Point(int x, int y) { 
+0

Ты лучший. Спасибо :) –

+0

Остин, я вижу, вы отредактировали сообщение выше. Однако он все еще может использовать некоторое редактирование. Очевидно, что код оставлен в стороне от кодовых блоков, и ошибка исключена, но указана в комментариях. Я не понимаю, как вы решили, что все, что вы сделали, было достаточно, чтобы закончить редактирование. Я не говорю, что вы не улучшили форматирование вопроса, мне просто интересно, почему вы остановились там, где вы это делали. –

+0

@MatthewCliatt Я не совсем уверен, что еще вы хотите в моем ответе, чтобы быть честным. ОП задавал конкретно о неопределенной ошибке конструктора, поэтому я показал ему, как его исправить и как работает конструктор ... – Austin

1

Чтобы добавить ответ Остина ...

Есть несколько других вопросов, а также ...

Метод сеты (интермедиат у) всегда будет установлено значение _y для 2 вместо параметра метода y.

Метод флип не будет работать так, как вы ожидаете. Когда _x установлен в _y, тогда _y будет просто установлен на _x, который был просто установлен на _y.

Метод getX() отсутствует.

+0

Да, моя задача - исправить эти ошибки –

Смежные вопросы