Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 14.03.2019
Сообщений: 11

Графическое приложение, считающее факториал введенного числа

21.05.2019, 14:33. Показов 2682. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите написать код:

Необходимо реализовать графическое приложение, которое считает факториал числа, введенного в текстовое поле.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.05.2019, 14:33
Ответы с готовыми решениями:

Графическое приложение
Добрый Вечер!!! Помогите Пожалуйста! Пытаюсь сделать графическое приложение. Делаю рисование графических примитивов с заливкой.. ...

Простой калькулятор
Помогите пожалуйста написать код в Java: Необходимо реализовать графическое приложение, имеющее 3 метки и 3 текстовых поля, а также...

Вычислить факториал введенного числа
Обсчитать факториал введенного числа за доп. while

6
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
21.05.2019, 15:25
что непонятно?
0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
21.05.2019, 16:04
Лучший ответ Сообщение было отмечено Vhyng как решение

Решение

Я не утруждал себя заботами о компоновке, поэтому программа выглядит плохо, но она работает. При том я даже постарался и реализовал метод нахождения факториала через BigInteger, поэтому будет находить даже оч оч большие значения

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.GridLayout;
import java.math.BigInteger;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
 
public class test2 {
    public static void main(String[] args) {
        EventQueue.invokeLater(() -> {
            JFrame frame = new FactFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
        }); 
    }
}
 
class FactFrame extends JFrame {
    private static final int DEFAULT_WIDTH = 350;
    private static final int DEFAULT_HEIGHT = 100;
    
    public FactFrame() {
        setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
        JTextArea text = new JTextArea(1, 20);
        text.setBorder(BorderFactory.createEtchedBorder());
        GridLayout layout = new GridLayout(2, 1);
        JPanel left = new JPanel(layout);
        left.add(text);
        JLabel result = new JLabel("Result: ");
        left.add(result);
        JPanel right = new JPanel();
        JButton button = new JButton("Compute");
        button.addActionListener(event -> {
            result.setText("Result: " + findFactorial(BigInteger.valueOf(Integer.parseInt(text.getText()))));
        });
        right.add(button);
        add(left, BorderLayout.WEST);
        add(right, BorderLayout.EAST);
    }
 
    public static BigInteger findFactorial(BigInteger num)
    {
        if (num.compareTo(BigInteger.valueOf(0)) == 0)
            return BigInteger.valueOf(1);
        if (num.compareTo(BigInteger.valueOf(1)) > 0)
        {
            return num.multiply(findFactorial(num.subtract(BigInteger.valueOf(1))));
        }
        return num;
    }
}
1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
21.05.2019, 16:09
Цитата Сообщение от Gungala Посмотреть сообщение
public class test2 {
завязывай с этим
0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
21.05.2019, 16:12
Welemir1, да, да, я собирался поменять название уже при отправке ответа, но чёт забыл
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
21.05.2019, 16:26
В NetBeans:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
package javaapplication48;
 
import java.math.BigInteger;
 
/**
 *
 * @author Файфель_БЛ
 */
public class frmMain extends javax.swing.JFrame {
 
    /**
     * Creates new form frmMain
     */
    public frmMain() {
        initComponents();
    }
 
    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {
 
        jLabel1 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        textArea1 = new java.awt.TextArea();
 
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setResizable(false);
 
        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jLabel1.setText("n=");
 
        jButton1.setText("Вычислить");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
 
        jButton2.setText("Закрыть");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });
 
        textArea1.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
 
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(textArea1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton2)
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton1)
                    .addComponent(jButton2))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(textArea1, javax.swing.GroupLayout.PREFERRED_SIZE, 186, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
 
        pack();
    }// </editor-fold>                        
 
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        System.exit(0);
    }                                        
 
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       BigInteger x=BigInteger.valueOf(2);
       BigInteger r=BigInteger.ONE;
       String str;
       int i,i1,i2,l;
       StringBuilder res=new StringBuilder();
       int n = Integer.parseInt(jTextField1.getText());
       for (i=2; i<=n; i++)
       {
           r=r.multiply(x);
           x=x.add(BigInteger.ONE);
       }
       str=r.toString();
       l=str.length();
       i1=0;
       i2=59;
       while(true)
       {
           if (i2 >= l) i2=l;
           res=res.append(str.substring(i1,i2));
           res=res.append("\n");
           if (i2==l) break;
           i1=i1+60;
           i2=i2+60;
       }
       textArea1.setText(res.toString()); 
    }                                        
 
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(frmMain.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(frmMain.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(frmMain.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(frmMain.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
 
        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new frmMain().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JTextField jTextField1;
    private java.awt.TextArea textArea1;
    // End of variables declaration                   
}
Вложения
Тип файла: zip JavaApplication48.zip (34.3 Кб, 2 просмотров)
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
21.05.2019, 16:28
Лучший ответ Сообщение было отмечено Vhyng как решение

Решение

картинка:
Миниатюры
Графическое приложение, считающее факториал введенного числа  
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.05.2019, 16:28
Помогаю со студенческими работами здесь

Вычислить факториал введенного с клавиатуры числа
Задание 2: Составить программу с использованием цикла с параметрами. Предусмотреть задание исходных данных при помощи оператора ввода. ...

Вычислить факториал введенного числа (цикл for)
помогите решить задачу- нужно вычислить факториал вводимого числа с использованием оператора for!!!!

Вычислить факториал введенного числа n! (0<n<1001) и вывести результат
Вычислить факториал введенного числа n! (0&lt;n&lt;1001) и вывести результат Помогите пожалуйста...

. Составить программу, которая вычисляет факториал числа n, введенного с клавиатуры
Есть такая задача: которая находит сумму чисел от 1 до n, где n – вводится с клавиатуры. вот код: #include...

Написать программу, которая вычисляет факториал числа, введенного с клавиатуры
Задание №3. Составить программу на языке программирования Pascal, используя оператор цикла. Написать программу, которая вычисляет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru