Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Дайте совет по реализации 
:(
    Опции темы
CyberSport
Дата 11.7.2008, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 11.7.2008

Репутация: нет
Всего: нет



Я пишу первую программу это программа будет консольная для выполнения моих комманд!я получаю имя комманды а дальше смотря на его имя запускаю функцию с таким же именем, как мне это реализовать(запуск функции по имени переменной команды).И еще вопрос,выполняемые функции консоли лучше вынести в отдельный класс??


Кстати с удовольствием приму критику по алгоритму и коду(наваял за 15 мин не судите строго) 



Код


package com;

import java.io.*;

public class Main {
       
      
       String version = "Java com version 1.0 BETA";
      
       //Конструктор
      Main()
       {
          System.out.println(version);
       }
      
      
       //Старотовое сообщение консоли      
       public void start_message(String message)
       {
          System.out.println(message);
       }
      
      
       //Получение команды от пользователя
       public String get_command()
       {
          BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
           String command_line = new String();
          
           try
           {
              command_line = in.readLine();
           }
           catch(IOException e)
           {
              e.printStackTrace();
           }
          
           return command_line;
       }
      
      
       //Выполнение команды
       public void exec_command(String command_line)
       {
          String[]  command_line_array;          
          String command_name = new String();
          String command_parameter  = new String();
          
          command_line_array = command_line.split(" ");
                  
          try
          {         command_name = command_line_array[0];
                    command_parameter = command_line_array[1];
          }
          catch(Exception e)
          {
                    System.out.println("Команды не существует либо параметр задан не вернопараметр задан не верно");
          }       
         
          System.out.println("Комманда - " + command_name);
          System.out.println("Параметр - " + command_parameter);
       }
      
      
       public static void main(String[] args)
       {
          String command = new String();
          
          Main console = new Main();

            while (true)
            {
              console.start_message("START >>>");
              command = console.get_command();
              console.exec_command(command);
            }   
       }   
} 




PM MAIL   Вверх
polosatij
Дата 12.7.2008, 04:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 1
Всего: 8





во первых, так ниЗЗя.. 

Код

  String command_name = new String();


это бесцельная трата памяти..

во вторых, синтаксис Ява:

Код

 commandLine // а не command_line


в третьих.. зачем тебе это всё писать?
посмотри уже написанные библиотеки:

http://jopt-simple.sourceforge.net/

в четвёртых, запуск фукции ты можешь осуществить как через reflection, например

http://www.google.com/search?q=java+reflec...lient=firefox-a

так и обрабатывая значения ливо switch-ем или простым if-ом..

вот..  smile 



--------------------
PM   Вверх
CyberSport
Дата 14.7.2008, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 11.7.2008

Репутация: нет
Всего: нет



Спасибо большое за советы
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0400 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.