Маленький код, значение не переносится - PullRequest
2 голосов
/ 02 октября 2011

У меня есть эта проблема, у меня есть Java-файл, который получает 2 переменные из другого файла и должен сложить их вместе и вернуть суммированное значение. Пока что он работает на получении значений aFirst и aSecond, но я не уверен, почему значение one и two теряется (возвращается в 0), когда оно попадает в метод sum. Это для моего домашнего задания.

public class Pair
{
    private double one, two ;
    public Pair(double aFirst, double aSecond)
    {
        double one = aFirst;
        double two = aSecond;
    }

    public double sum() 
    {
        double xys = one + two;
        return(xys);
    }
}

Ответы [ 3 ]

12 голосов
/ 02 октября 2011

Вы объявляете one и two как локальные переменные, скрывая переменные экземпляра.

6 голосов
/ 02 октября 2011

проблема в конструкторе.вы создаете локальные переменные и не используете поля класса

private double one, two ;
public Pair(double aFirst, double aSecond)
{
    this.one = aFirst;
    this.two = aSecond;
}

, вы можете сделать это без «этого».но не ставьте шрифт вперед

0 голосов
/ 02 октября 2011

Используйте this для доступа к переменным члена класса в случаях переопределения, когда у вас одинаковое имя переменной в локальной области и в членах класса.

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