Скорость свободного падения на Java
Появилась задача
Разработать программу на Java, рассчитывающую скорость объекта в свободном падении, при заданной начальной высоте. При решении задачи учитывать гравитацию на планете Земля. Вывести на экран таблицу высот с шагом в 1с и скоростью на данной высоте. Начальная высота должна задаваться через текстовое поле, расчёт и составление таблицы должно производиться по нажатию кнопки. Таблица должна быть графической (JTable).
Решение
В итоге получается вот такое приложение на Java:
Решается задача просто. Создаем окно:
JFrame frame = new JFrame(); frame.setTitle("Свободное падение"); frame.setLocation(200, 200); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Панель:
JPanel jplPanel = new JPanel(); jplPanel.setLayout(new BoxLayout(jplPanel, BoxLayout.Y_AXIS));и самое главное - это модель для таблицы
//модель данных для таблицы model = new DefaultTableModel(){ @Override public boolean isCellEditable(int row, int column){ return true; }; }; //заголовки таблицы model.addColumn("Время"); model.addColumn("Высота"); model.addColumn("Скорость");Дальше остальные элементы набрасываем на форму и добавляем обработчик кнопки. В обработчике кнопки и происходят все расчеты и вывод. Сначала получаем число из поля (не забыв обработать на ошибки - вдруг кто-то введет не число), затем очищаем таблицу (модель), вычисляем по формуле пройденный путь, высоту и скорость с интервалом в 1 секунду и добавляем результаты расчетов в модель-таблицу.
Готовая программа с исходниками и комментариями в тексте стоит 400 рублей. В архиве проект, созданный в NetBeans - откроется в Eclipse и IntelliJ IDEA.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.