почему мы тут пишем int dist = 252; а на втором классе miles хотя я не могу найти между ними связи

150
22 октября 2018, 01:40
public class Vehicle {
    public static void main(String args[]) {
        opds minivan = new opds();
        opds sportscar = new opds();
        double gallons;
        int dist = 252;
// присвоить значения полям в объекте minivan
        minivan.passengers = 7;
        minivan.fuelcap = 16;
        minivan.mpg = 21;
// присвоить значения полям в объекте sportscar
        sportscar.passengers = 2;
        sportscar.fuelcap = 14;
        sportscar.mpg = 12;
        gallons = minivan.fuelneeded(dist) ;  // почему тут (dist) а не (miles) ?
        System.out.println("To go " + dist + " miles minivan needs " +
                gallons + " gallons of fuel.");
        gallons = sportscar.fuelneeded(dist);
        System.out.println("To go " + dist + " miles sportscar needs " +
                gallons + " gallons of fuel.");
    }
}


class opds {
    int passengers; // количество пассажиров
    int fuelcap;    // емкость топливного бака
    int mpg;    // потребление топлива в милях на галлон }
    введите сюда код
    double fuelneeded(int miles) {
        return (double) miles / mpg;
    }
}
Answer 1

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

После того, как метод fuelneeded получит на вход аргумент dists, внутри этого метода он присвоит переданное значение dists своей собственной внутренней (локальной) переменной miles и получим результат miles = dists.

Теперь внутри метода значение, переданное в него, как dists будет известно под меткой miles (такое локальное именование мы указали в сигнатуре этого метода - к полученному значению обращаться по имени miles). Данное имя будет действительно только внутри этого метода .

Передать же в метод вы можете любое значение подходящего типа (здесь типа int): любую переменную или даже просто число:

fuelneeded(500);

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

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

Связь между ними такая, что дистанция (расстояние) измеряется в милях. Мы можем говорить, что машина проехала дистанцию 100 (миль) или просто машина проехала 100 миль.

READ ALSO
Как вставить Spring Bean в xml для factory

Как вставить Spring Bean в xml для factory

Без Spring я инициализировал объект так:

169
Как правильно указать путь к файлу lang_rus.properties?

Как правильно указать путь к файлу lang_rus.properties?

Помогите пожалуйста! На главной странице приложения я указал для одной из кнопкок text="%ruth_test_main" в fxml файле, теперь хочу подключить файл с русским...

181
Не отображается Fragment

Не отображается Fragment

Имеется NavigateActivity, в которой реализовано отображение навигационного меню

168
Как сравнить два OutputSream'a, понять что содержимое эквивалентно?

Как сравнить два OutputSream'a, понять что содержимое эквивалентно?

Пишу UT и столкнулся с тем, что нужно сравнить expected и actual(полученный в ходе выполнения теста) потоки OutputStreamКак это лучше сделать, желательно...

176