Вниз  Java-программирование (1-ые посты)
- 11.04.2015 / 16:06
AHiLLA
  Пользователь

AHiLLA 
Сейчас: Offline
DominaN, Мне почем знать, я не читаю учебники.

Изменено Magatino (11.04 / 16:12) (всего 1 раз)
- 11.04.2015 / 16:14
Magatino
  Администратор

Magatino 
Сейчас: Offline
Цитата AHiLLA:
DominaN, Мне почем знать, я не читаю учебники.
Основное надо знать, читай учебники, типа Горнакова и конспектируй, всё что надо это перейти на первый пост темы :)

Изменено Magatino (11.04 / 16:25) (всего 2 раза)
- 11.04.2015 / 20:00
AHiLLA
  Пользователь

AHiLLA 
Сейчас: Offline
Magatino, ну придется читать уже :gg:
:ps: "нет ты" это шутка такая :gg:

Посоны, а почему это не работает? Первое нажатие дает паузу, а обратно уже не возвращает.
  1. if (k==49) if (noPause=true)
  2.     noPause=false;
  3.  
  4. if (k==49) if (noPause=false)
  5.     noPause=true;


Изменено AHiLLA (11.04 / 20:01) (всего 1 раз)
- 11.04.2015 / 20:11
Magatino
  Администратор

Magatino 
Сейчас: Offline
Цитата AHiLLA:
Посоны, а почему это не работает? Первое нажатие дает паузу, а обратно уже не возвращает.
  1. if (k==49)
Пиши так:
  1. if (k==49)
  2. pause=!pause;


Изменено Magatino (11.04 / 20:13) (всего 1 раз)
- 11.04.2015 / 20:16
Kalter
  Пользователь

Kalter 
Сейчас: Offline
AHiLLA, различай оператор присвоения ( = ) от оператора сравнения ( == ).

Вот исправленная версия программы:
  1. if (k == Canvas.KEY_NUM1 && noPause) {
  2.     noPause = false;
  3. }
  4.  
  5. if (k == Canvas.KEY_NUM1 && !noPause) {
  6.     noPause = true;
  7. }

Но лучше пиши как показал Magatino, только с использованием констант.
__________________
 Homo homini penis est.

Изменено Kalter (11.04 / 20:25) (всего 4 раза)
- 11.04.2015 / 20:28
Dimon638
  Пользователь

Dimon638 
Сейчас: Offline
AHiLLA,
И ещё лучше переименуй переменную "noPause" согласно Java Code Convention, а именно в "isPause".
Так код гораздо понятнее будет, булевы переменные должны начинаться с "is",
чтобы их было легко отличить от других переменных просто взглянув на название.

P.S. Как забавно, что в яве операторы "==" и "=" спутать довольно-таки сложно, а если юзать int переменные, то даже невозможно, ведь компиль просто не даст заюзать "=" в условии, т.к. ожидается boolean-выражение, а присваивание интов возвращает инт, а не boolean, но вот беда - если присваивать boolean'у boolean же, то выстрелить в ногу всё-таки возможно и "=" в условии с логическими переменными прокатывает, и ты именно это и сделал :-D :hack:

Изменено Dimon638 (11.04 / 20:34) (всего 2 раза)
- 11.04.2015 / 21:05
Oak
  Пользователь

Oak 
Сейчас: Offline
Dimon638, Да, кстати, мне это тоже показалось весьма забавным и интересным фактом. Я долго думал, что так в ногу выстрелить в яве нельзя
__________________
 Эль Презеденте
- 11.04.2015 / 21:33
RooMeN
  Пользователь

RooMeN 
Сейчас: Offline
А никого не смущает, что булеановская переменная возвращается в начальное состояние в этих кодах? (если они подряд выполняются)

  1. if (k==49) if (noPause=true)
  2.     noPause=false;
  3.  
  4. if (k==49) if (noPause=false)
  5.     noPause=true;

  1. if (k == Canvas.KEY_NUM1 && noPause) {
  2.     noPause = false;
  3. }
  4.  
  5. if (k == Canvas.KEY_NUM1 && !noPause) {
  6.     noPause = true;
  7. }


Изменено RooMeN (11.04 / 21:35) (всего 3 раза)
- 11.04.2015 / 21:35
AHiLLA
  Пользователь

AHiLLA 
Сейчас: Offline
Magatino, Kalter, Dimon638, ок, спасибо

Цитата Kalter:
AHiLLA, различай оператор присвоения ( = ) от оператора сравнения ( == )
Я же в коде как надо написал. Ошибиться мне компиль не даст просто.
- 11.04.2015 / 22:19
Oak
  Пользователь

Oak 
Сейчас: Offline
AHiLLA, В данном случае можно
__________________
 Эль Презеденте
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)