Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Java / JavaScript


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

vladisslav
Статус: 6-й класс
Рейтинг: 1241
∙ повысить рейтинг »
Botsman
Статус: Профессионал
Рейтинг: 814
∙ повысить рейтинг »
Палян Александр Михайлович
Статус: 6-й класс
Рейтинг: 309
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Java/JavaScript

Номер выпуска:679
Дата выхода:21.09.2010, 22:00
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:278 / 90
Вопросов / ответов:2 / 2

Вопрос № 179942: Здравствуйте, эксперты. Объясните, пожалуйста, почему функция main должна быть именно public static (type) main(String args[]) {} ? Почему нельзя, например, написать: private void main()? Спасибо....


Вопрос № 179947: [J2SE 6] Здравствуйте, эксперты. Объясните, пожалуйста, зачем так много надо писать, чтобы прочитать строку из ввода? Что делают эти две строки, и зачем надо throws IOException? Ведь, например, на С++ все гораздо проще... <...

Вопрос № 179942:

Здравствуйте, эксперты.

Объясните, пожалуйста, почему функция main должна быть именно public static (type) main(String args[]) {} ?

Почему нельзя, например, написать: private void main()?

Спасибо.

Отправлен: 15.09.2010, 22:01
Вопрос задал: Иванов Андрей Владимирович, 4-й класс
Всего ответов: 1
Страница вопроса »


Отвечает Ivol84, 5-й класс :
Здравствуйте, Иванов Андрей Владимирович.

Функция main должна быть public static потому что Java должна ее видеть (public) и вызывать не создавая объекта (static).

Ответ отправил: Ivol84, 5-й класс
Ответ отправлен: 17.09.2010, 16:07
Номер ответа: 263087

Оценка ответа: 5

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 263087 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Вопрос № 179947:

    [J2SE 6]

    Здравствуйте, эксперты. Объясните, пожалуйста, зачем так много надо писать, чтобы прочитать строку из ввода?
    Что делают эти две строки, и зачем надо throws IOException? Ведь, например, на С++ все гораздо проще...

    Код:
    public static void main(String[] args) throws IOException{
    String line;
    InputStreamReader input = new InputStreamReader(System.in); // ?
    BufferedReader reader = new BufferedReader(input); // ?
    line = reader.readLine();

    }


    Спасибо.

    Отправлен: 15.09.2010, 23:46
    Вопрос задал: Иванов Андрей Владимирович, 4-й класс
    Всего ответов: 1
    Страница вопроса »


    Отвечает Ivol84, 5-й класс :
    Здравствуйте, Иванов Андрей Владимирович.
    Все это многословие необходимо из - за правила "одна ответственность" (Single Responsibility). В данном случае действуют несколько объектов:
    InputStreamReader - отвечает за создание читателя входного потока (System.in), т.е. с его помощью можно прочитать символ или набор символов (указанное количество символов). Он не буферезирует поток, т.е. входные данные заносятся сразу после нажатия кнопки клавиатуры(в данном случае). Т.е. если вы сделаете примерно так:
    char ch[] = new char[10];
    input.read(ch, 0, 10);
    то вы будете вводить до нажатия ввода но сохранятся только 10 символов (каждый символ будет сохраняться после нажатия клавиши.
    BufferedReader - буферезирует читателя, т.е. данные сохраняются после нажатия определенной кнопки (в данном случае ввода). Объект этого класса может записывать в строку.
    А throws IOException необходим для того, чтобы сказать что функция може т выбрасывать исключение (readLine() выбрасывает исключение IOException и если вы его не перхватываете оно выбрасывается вверх к вызывающему методу).

    Ответ отправил: Ivol84, 5-й класс
    Ответ отправлен: 17.09.2010, 16:36
    Номер ответа: 263090

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 263090 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.20 от 21.09.2010

    В избранное