2015-02-07 7 views
-4

Я просто хочу убедиться, что я здесь прав. Я пытаюсь добавить методыКак исправить ошибку метода

  • Изменение высоты
  • Изменение ширины
  • Изменение координат
  • Вычислить периметр
  • Calculate области

    public class MyRectangle { 
    
    public int width; 
    public int height; 
    public int y; 
    public int x; 
    
    public MyRectangle() 
    { 
        width=10; 
        height=10; 
        y=10; 
        x=10; 
    
    public int MyRectangle; 
    
    public MyRectangle(int width, int height, int y, int x, int MyRectangle) { 
        this.width = width; 
        this.height = height; 
        this.y = y; 
        this.x = x; 
        this.MyRectangle = MyRectangle; 
    } 
    } 
    

и я также получение незаконного начала ошибка выражения в моем методе.

+1

В чем вопрос? и почему вы устанавливаете переменную с тем же именем, что и класс, сначала измените это имя, чтобы ваш класс мог появиться больше readbale. – Tarik

+0

Вы забыли закрыть '}' в своем первом конструкторе. Проверьте код на наличие синтаксических ошибок. –

+0

Вы не можете объявить 'public int MyRectangle;' внутри метода и не можете объявить метод в методе – TheMuffinCoder

ответ

1

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

public class MyRectangle { 

    //Best to group your variables up here 
    public int MyRectangle; 
    public int width; 
    public int height; 
    public int y; 
    public int x; 

    public MyRectangle() { 
     width = 10; 
     height = 10; 
     y  = 10; 
     x  = 10; 
    }//Make sure to close this method with the bracket 

    public MyRectangle(int width, int height, int y, int x, int MyRectangle) { 
     this.width = width; 
     this.height = height; 
     this.y = y; 
     this.x = x; 
     this.MyRectangle = MyRectangle; 
    } 

    /** 
    * Changes the current height to the given new height 
    * @param newHeight 
    */ 
    public final void changeHeight(int newHeight) { 
     height = newHeight; 
    } 

    /** 
    * Changes the current width to the given new width 
    * @param newWidth 
    */ 
    public final void changeWidth (int newWidth) { 
     width = newWidth; 
    } 

    /** 
    * Calculates the current perimeter based on the width and height 
    * @return parameter ofd the rectangle 
    */ 
    public final int getPerimeter() { 
     return ((2 * width) + (2 * height)); 
    } 

    /** 
    * Calculates the area based on the width and height 
    * @return area of the rectangle 
    */ 
    public final int getArea() { 
     return (width * height); 
    } 

    public final void changesXCoordinate(int newX){ 
     x = newX; 
    } 

    public final void changesYCoordinate(int newY){ 
     y = newY; 
    } 

    public final void changesCoordinate(int newX, int newY) { 
     x = newX; 
     y = newY; 
    } 
} 

поясню более скоро, просто хотел, чтобы отправить правильный код первой: P

Как можно заметить, это своего рода трудно понять, что еще ты ищешь.

Если это то, что вы ищете, пожалуйста, отметьте это как правильный ответ: D

+0

. Интересно, почему я получил -1, можете ли вы объяснить, чтобы я мог улучшить свой ответ и для будущей ссылки? – TheMuffinCoder

+0

Не downvoter , но, возможно, потому, что вы отвечаете, пока не понимаете, что он ищет – Tarik

+0

Спасибо Tarik! Но я просто исправил ошибку, о которой он спрашивал ... Мне жаль, если я положил это как ответ, я подумал, что это ему поможет (я потерял репутацию, пытаясь помочь ему – TheMuffinCoder

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