| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Проблема с английским |
| Автор: kornata 25.4.2010, 13:37 |
| Вот задание: Write 2 programs. First shall input 2 numbers and output their sum. Second shall call the first using ProcessBuilder and use stream capture to push a couple of numbers as into First's input, receive First's output, multiply the received number by 2 and print it. Я не могу понять, что должна делать вторая программа. |
| Автор: Nofate 25.4.2010, 13:48 |
| Она должна запускать первую посредством ProcessBuilder (буквально день-два назад эта тема была), захватывать ее потоки ввода-вывода, подавать первой проге на вход параметры, получать результат с выхода первой проги, умножать его на 2 и выводить на экран. |
| Автор: dorogoyIV 25.4.2010, 13:50 |
| получите два первых числа используя ProcessBuilder, умножте их на 2 и выведите на печать (кажется так) опередили |
| Автор: kornata 25.4.2010, 13:51 |
| Что значит захватывать потоки и как это сделать? Какие параметры подавать? |
| Автор: Nofate 25.4.2010, 13:57 |
| http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ProcessBuilder.html http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Process.html ProcessBuilder создаст вам Process. А у Process есть методы getInputStream() и getOutputStream(). Они то вам и нужны. Как какие параметры? Там же сказано что первая программа принимает на вход 2 числа и выдает их сумму. Вот эти 2 числа и нужно ей на вход передать. |
| Автор: Nofate 25.4.2010, 18:14 |
| Отнюдь, там как минимум есть пример запуска одной программы из другой. а это пол-дела. Определитесь для начала с алгоритмом. Предварительно: 1. Читаем про потоковый ввод/вывод, какие бывают потоки и для чего они нужны. 2. Читаем про стандартный поток ввода, стандартный поток вывода и , заодно, стандартный поток ошибок. Выясняем как ими пользуются и с чем их едяь. Первая программа: 1. Прочитать со стандартного ввода в переменную А. 2. Прочитать со стандартного ввода в переменную B. 3. Вывести в стандартный вывод сумму А и B. Вторая программа: 1. Создаем экземпляр класса ProcessBuilder, запускающий первую программу. 2. Получаем экземпляр класса Process методом start класса ProcessBuilder. 3. Инициализируем 2 переменные А и В какими-нибудь числами (или считываем их с клавиатуры). 4. Получаем из нашего экземпляра класса Process поток ввода inputStream. 5. Получаем из нашего экземпляра класса Process поток вывода outputStream. 6. Отправляем в inputStream значения А и В. 7. Читаем из outputStream результат в переменную С. 9. Выводим на экран переменную С, умноженную на 2. |
| Автор: kornata 25.4.2010, 18:19 | ||||
Я не понимаю по-английски. Добавлено через 3 минуты и 1 секунду
Числами, они же должны браться и входного потока первой программы. А как считать с клавы? |