Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 29.11.2018
Сообщений: 23

Как правильно записать условие?

13.12.2018, 19:10. Показов 1311. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня, разбирал практическое задание по книге и возник вопрос: Где нужно написать оператор if, чтобы программа выводила "Сначала заведите машину", если в начале мы попробуем вызывать метод "drive(2)" или "stop()"?
В примерах указаны куски кода с операцией if и то они мне не до конца понятны.

Класс.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Car {
    int distance=0;
    public void start () {
    System.out.println("Мотор машины заведен");
}
    public void stop () {
    System.out.println("Мотор машины выключен");
}
    public int drive(int howLong){
        distance = howLong*60;
        System.out.println("Машина проехала " + distance + "!");
     return distance;
}
}
Подкласс.
Java
1
2
3
4
5
6
7
8
public class JamesBondCar extends Car {
    @Override
    public int drive(int howLong){ 
        distance = howLong*180;
        System.out.println("Машина проехала " + distance + "!");
     return distance;
}
}
Вызывающий класс.
Java
1
2
3
4
5
6
7
8
public class NewClass {
    public static void main(String[] args){
        JamesBondCar WOWCar = new JamesBondCar();
        WOWCar.start();
        WOWCar.drive(2);
        WOWCar.stop();
        }  
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.12.2018, 19:10
Ответы с готовыми решениями:

Как правильно сделать условие
Задачка заключается в следующем: метод принимает входные данные -два числа, проверяет сто их сумма находится в пределах 30 до 40...

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

Как правильно записать строки в файл и считать их?
Имеется ввиду следующее: Открывается приложение а позже это приложение должно открытся с теми же размерами что и последний...

13
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
13.12.2018, 19:17
Лучший ответ Сообщение было отмечено grishk0 как решение

Решение

grishk0, в классе Car можно сделать логические переменные isStarted и isStopped, а методы старт и стоп меняют их значения, которые и можно проверять if'ом...
1
1 / 1 / 0
Регистрация: 29.11.2018
Сообщений: 23
13.12.2018, 19:46  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
grishk0, в классе Car можно сделать логические переменные isStarted и isStopped, а методы старт и стоп меняют их значения, которые и можно проверять if'ом...
Примерно понял, пойду мозговать как лучше сделать такой код.
0
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,475
13.12.2018, 20:18
Цитата Сообщение от iSmokeJC Посмотреть сообщение
isStarted и isStopped
Одной из них, будет достаточно))
1
1 / 1 / 0
Регистрация: 29.11.2018
Сообщений: 23
13.12.2018, 20:54  [ТС]
Цитата Сообщение от Aviz__ Посмотреть сообщение
Одной из них, будет достаточно))
В принципе я все равно буду думать над тем, как лучше сделать, чтобы решить свою маленькую задачку. =)
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
13.12.2018, 21:05
Цитата Сообщение от Aviz__ Посмотреть сообщение
Одной из них, будет достаточно))
Не совсем, судя по стартовому посту, у машины ТС три состояния:

двигатель выключен — (видимо) isStarted == false && isStopped == true
двигатель включён, но машина не движется — (видимо) isStarted == true && isStopped == true
машина движется — (видимо) isStarted == true && isStopped == false

Что при этом должна означать комбинация isStarted == false && isStopped == false (двигатель выключен, но машина движется) — непонятно. Кактится с горы на нейтралке? Ну, возможно, но не похоже, что задание ТС это предусматривает. iSmokeJC, это тебе на подумать.

Оптимальным вариантом (как и почти в любом случае, когда состояний больше двух; да и когда два, тоже можно воспользоваться вместо boolean) будет использование enum, типа такого:

Java
1
2
3
4
5
6
enum CarState {
 
    ENGINE_IS_OFF,
    ENGINE_IS_ON,
    MOVING
}
1
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,475
13.12.2018, 21:14
Цитата Сообщение от korvin_ Посмотреть сообщение
типа такого
коробка скоростей?
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
13.12.2018, 21:26
Цитата Сообщение от Aviz__ Посмотреть сообщение
коробка скоростей?
1) В задании об этом ни слова
2) У коробки скоростей также фиксированное количество состояний (в зависимости от модели/(типа механизма))
3) Это отдельный компонент в составе машины.

В общем, не нужно over-engineer'ить.
0
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,475
14.12.2018, 07:05
Цитата Сообщение от korvin_ Посмотреть сообщение
В общем, не нужно over-engineer'ить.
не факт. у ТС замах на совершенство!
0
1 / 1 / 0
Регистрация: 29.11.2018
Сообщений: 23
14.12.2018, 08:29  [ТС]
Цитата Сообщение от Aviz__ Посмотреть сообщение
не факт. у ТС замах на совершенство!
В этом и дело, что по началу всё без условий было. Это потом меня муха укусила и я решил углубиться в это дело.

Цитата Сообщение от korvin_ Посмотреть сообщение
двигатель выключен — (видимо) isStarted == false && isStopped == true
двигатель включён, но машина не движется — (видимо) isStarted == true && isStopped == true
машина движется — (видимо) isStarted == true && isStopped == false
В принципе так и должно быть, просто основной посыл состоит в том, что если машина не заведена, то она не сможет выполнить класс stop и класс drive. Потому что её не включили. Я не рассматриваю вариант, что она движется на нейтральной скорости(с горы и т.д.).

Цитата Сообщение от Aviz__ Посмотреть сообщение
коробка скоростей?
Пока рановато замахиваться на это, как мне кажется.
0
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,475
14.12.2018, 08:45
Цитата Сообщение от grishk0 Посмотреть сообщение
Пока рановато замахиваться на это
как знаешь, но ты то ничего не теряешь, от "попробовать"))
0
1 / 1 / 0
Регистрация: 29.11.2018
Сообщений: 23
14.12.2018, 09:03  [ТС]
Цитата Сообщение от Aviz__ Посмотреть сообщение
как знаешь, но ты то ничего не теряешь, от "попробовать"))
В целом - да, но я представления об условиях сейчас имею размытое. А с коробкой передач - всё еще хуже, потому что не разбираюсь в машинах. Только помню, что есть задняя и другие передачи, которые нужно переключать при достижении той или иной скорости.
0
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,475
14.12.2018, 10:24
Цитата Сообщение от grishk0 Посмотреть сообщение
что не разбираюсь в машинах.
это, как раз проще всего, т.к. полно видео поясняющих суть частей авто, на самых разных уровнях абстракции)).
короче, удачи!
0
1 / 1 / 0
Регистрация: 29.11.2018
Сообщений: 23
14.12.2018, 11:11  [ТС]
Цитата Сообщение от Aviz__ Посмотреть сообщение
это, как раз проще всего, т.к. полно видео поясняющих суть частей авто, на самых разных уровнях абстракции)).
короче, удачи!
Спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.12.2018, 11:11
Помогаю со студенческими работами здесь

Как правильно записать условие?
Есть радиокнопка,текстовое поле,выпадающий список с двумя значениями и кнопка.на кнопку повесить обработчик это понятно. а вот код...

Как правильно записать условие?
Как записать If(C==) Что если елементы масива равны буквам?

Как правильно записать условие?
Есть некоторая функция которая берёт данные из файла и сравнивает их. std::string result_left, result_right, result_itog="?"; ...

Как правильно записать условие?
В листе Excel есть 3 ячейки - A2 (дата начала), B2 (дата завершения), C2 (текущая дата) и ячейка "состояние", куда записывается...

как правильно записать условие
здраствуйте! народ помогите кто знает! есть запрос результатом есть количество записей которие отвечают нужному критерию ... например...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru