1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Что делать без оператора goto?

Тема в разделе "Разработка плагинов для новичков", создана пользователем detamusi18429, 29 янв 2019.

  1. Автор темы
    detamusi18429

    detamusi18429 Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    detamusi18429
    Как прыгать между частями, кода когда есть такая необходимость?
     
  2. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Использовать методы с return'ами в них, а в циклах break и continue.
    Но вообще, это не форум по Java )
     
  3. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну, есть if - else, switch, тернарный оператор. Выбирай.
     
  4. Автор темы
    detamusi18429

    detamusi18429 Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    detamusi18429
    Делаю менюшку в чате (не спрашивайте зачем:bad:)
    Код:
    switch(type) {
       case 1:
           main_menu:
           //to do
           break;
       case 2:
           sendmessage();
           GOTO main_menu;
           break;
       case 3:
           ...
           break;
       default:
           ...
           break;
    }
    Как в таком случае перепрыгнуть с case 2 в case 1
     
  5. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    switch(1);
     
  6. NyanGuyMF

    NyanGuyMF Активный участник Пользователь

    Баллы:
    76
    На мой взгляд, лучше вынести код в отдельный метод.. Или сделать обычный falling through:

    PHP:
    switch(type) {
       case 
    2:
           
    sendMessage();
           
    // falling through
       
    case 1:
           
    // code...
           
    break;
       case 
    3:
           
    // code...
           
    break;

       default:
           
    // code...
           
    break;
    }
     
  7. Автор темы
    detamusi18429

    detamusi18429 Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    detamusi18429
    Это находится в case 1
    String и Integer пробовал - не принимает такую запись
    upload_2019-1-30_15-12-40.png
     
  8. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Капец ты сложный :cry:.

    Код:
        public void hreny(int type) {
            switch(type) {
               case 1:
                   break;
               case 2:
                   hreny(1);
                   break;
               case 3:
                   break;
               default:
                   break;
            }
        }
     
  9. AbstractCoder

    AbstractCoder Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Ну так не надо для такого использовать switch)
     
  10. Code

    Code Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    надо забыть про слово "перепрыгнуть" и использовать нормальное структурное программирование
     
  11. Автор темы
    detamusi18429

    detamusi18429 Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    detamusi18429
    какие твои предложения?
     
  12. NyanGuyMF

    NyanGuyMF Активный участник Пользователь

    Баллы:
    76
    В Java нет GOTO оператора, есть только continue, который можно использовать только в циклах. Переноси код в методы или используй switch без break выражений. Это ООП, не процедурка :D Создавай свои события и обрабатывай их. Мол, если команда такая-то, то передам-ка я её данные в другой класс-обработчик
     
  13. AbstractCoder

    AbstractCoder Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Ну в зависимости от того, что ты конкретно хочешь сделать, зачем тебе перебирать какой-то магический целочисленный type. Лучше всего использовать гибкие билдеры.
    upload_2019-1-31_17-13-44.png
     
  14. Автор темы
    detamusi18429

    detamusi18429 Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    detamusi18429
    всем спасибо, сделал подобие
     
  15. AbstractCoder

    AbstractCoder Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Пон, земля пухом.
     
  16. FrostDelta123

    FrostDelta123 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    FrostDelta123
    Ты велосипед придумал там, где он не нужен
     
  17. AbstractCoder

    AbstractCoder Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Бред) у тебя наверное на спиготе из коробки в textcomponent api листенеры кликов с консумерами?)
    Спиготовский компонент апи не удобный, свой билдер намного гибче и легче в использовании.
     
    Последнее редактирование: 31 янв 2019

Поделиться этой страницей