Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2013, 20:58   #1
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию Процедуры и функции (Java)

Доброго времени суток! Хочу разбить весь код на процедуры и функции. Вот одна из функций:
Код:
public static int KolStrok()
        {
            try
            {               //компилятор ругается на эту скобку
                int n = 0;
                DataInputStream fi;
                fi = new DataInputStream(new BufferedInputStream(new FileInputStream("File of input.txt")));
                String s = "";
                while ((s = fi.readLine()) != null)         
                   n++;
                fi.close();
            }catch (IOException e) {}

            KolStrok = n - 2; // и на эту строчку
        }
Подскажите в чем ошибка?

Последний раз редактировалось Начинающий програм; 15.03.2013 в 21:06.
Начинающий програм вне форума Ответить с цитированием
Старый 15.03.2013, 21:16   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

В Java нет ни процедур ни функций, обе эти сущности называются методами. Значение из метода возвращается с помощью ключевого слова return, а не как в Паскале. Также, в Вашем коде n ограничена областью видимости блока try, так что нужно вынести её повыше.

Код:
public static int KolStrok()
        {
                int n = 0;
            try
            {               //компилятор ругается на эту скобку
                DataInputStream fi;
                fi = new DataInputStream(new BufferedInputStream(new FileInputStream("File of input.txt")));
                String s = "";
                while ((s = fi.readLine()) != null)         
                   n++;
                fi.close();
            }catch (IOException e) {}

            return n - 2; // и на эту строчку
        }
netrino вне форума Ответить с цитированием
Старый 15.03.2013, 21:25   #3
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию

Спасибо! Теперь работает!
Начинающий програм вне форума Ответить с цитированием
Старый 15.03.2013, 22:08   #4
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию

Еще такой вопрос.
Если правильно описана функция, то как она будет выглядеть в Main
Код:
public static double[] Readx(int n)
        {
            double[] x = new double[n];
            

            try
            {
                FileInputStream fi = new FileInputStream("File of input.txt");
                Scanner src = new Scanner(fi);
                src.nextLine();
                src.nextLine();
                for (int i = 0; i < n; i++)        
                {    
                    x[i] = src.nextDouble();
                    src.nextLine();
                    System.out.print(x[i] + " ");
                }

                fi.close();
            }catch (IOException e) {}
            return x;
        }
Код:
 public static void main(String[] args) 
 {
     for (int i = 0; i < Kol; i++)
           double[] x[i] = Readx(Kol);    //как исправить эту глупость
  }
Начинающий програм вне форума Ответить с цитированием
Старый 15.03.2013, 22:52   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я не большой знаток java, но я бы вместо
Цитата:
Код:
public static void main(String[] args) 
 {
     for (int i = 0; i < Kol; i++)
           double[] x[i] = Readx(Kol);    //как исправить эту глупость
  }
записал примерно так:
Код:
public static void main(String[] args) 
 {
          int Kol = 3;
          double[] x = Readx(Kol);    
  }
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.03.2013, 10:16   #6
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию

Благодарю за помощь работает!
Начинающий програм вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов Java-процедуры в модуле Delphi Dekart Общие вопросы Delphi 1 23.05.2012 19:34
Процедуры и функции Айсик Помощь студентам 1 21.02.2011 22:32
Процедуры и функции hewlett Помощь студентам 1 23.05.2010 07:37