Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 09.06.2017
Сообщений: 2
1

Не понимаю как работает программа

10.06.2017, 13:26. Показов 537. Ответов 2
Метки нет (Все метки)

Только изучаю программирование. В общем, try/catch, судя по всему, прога просто в первый catch идет и все, пытался по разному значения задавать и ничего.
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
public class TryCatchFact {
    public static void main(String[] args) {
        // TODO code application logic here
         
           // System.out.println("x!="+ BigFactorial.factorial(5));        
        try{
            int x = Integer.parseInt(args[0]);
            System.out.println(x+"!= "+BigFactorial.factorial(x));
        }
        catch(ArrayIndexOutOfBoundsException e){
            System.out.println("Вы забыли ввести аргумент");
            System.out.println("Формат: java TryCatchFact <число>");
        }
        // Аргумент не является числом
        catch(NumberFormatException e){
            System.out.println("Задаваемый аргумент должен быть числом");
        }
        // Аргумент меньше 0
        catch(IllegalArgumentException e){
            System.out.println("Плохой аргумент: "+ e.getMessage());
        }
    }
    
}
И вот откуда factorial() брал:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class BigFactorial {
          protected static ArrayList table = new ArrayList();
          static {
              table.add(BigInteger.valueOf(1));
          }
          public static synchronized BigInteger factorial(int x){
              if(x<0) throw new IllegalArgumentException("х должен быть неотрицательным");
              for(int size = table.size(); size<=x;size++){
                  BigInteger lastFact = (BigInteger) table.get(size-1);
                  BigInteger nextFact = lastFact.multiply(BigInteger.valueOf(size));
                  table.add(nextFact);
              }
                  
              
              return (BigInteger) table.get(x);
          }
Собственно не до конца понимаю где прога должна считывать цифру, т.к в try вводил и ничего тоже. Единственное, перед try строка, там получается, но все равно первый catch.
P.S. Сори если накосячил со вставкой, т.к первое сообщение.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2017, 13:26
Ответы с готовыми решениями:

Не понимаю,как работает программа
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Не понимаю, как работает программа
// Programm F 61 // Преобразование Fixed-Float # include stdio.h; # include conio.h; # include...

Не понимаю как работает программа
Всем привет! Не так давно занялся изучением асма... Занимаюсь в основном по Калашникову. Сейчас я...

Не понимаю как работает данная программа
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;windows.h&gt; using namespace std; const int...

2
244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690
10.06.2017, 15:05 2
Вы не передаете входные параметры вашей программе.
В первом исключении вам и пишут это:
Java
1
2
System.out.println("Вы забыли ввести аргумент");
System.out.println("Формат: java TryCatchFact <число>");
Если запускаете через консоль, то
Код
java TryCatchFact 'какое-то число'
Если используете ide, то нужно в настройках запуска текущей программы изменить входные параметры.
1
0 / 0 / 0
Регистрация: 09.06.2017
Сообщений: 2
10.06.2017, 20:38  [ТС] 3
Спасибо, теперь разобрался
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2017, 20:38

Пузырьковая сортировка. Не понимаю как работает программа
Есть программа, которая использует пузырьковую сортировку. Не могу понять как она работает начиная...

программа работает алгоритм работы понимаю только как некоторые фрагменты кода работают не понятно!
вопросы написал в комментариях посмотрите пожалуйста! using System; using...

Проверить правильность написания заглавных букв в текстовом файле (не понимаю, почему программа не работает)
Мне необходимо было проверить правильность написания заглавных букв в текстовом файле. Исправить...

Не понимаю как работает рекурсия
Привет. Знаю, что таких тем много (Я читал их). Не нужно кидать ссылки. Я знаю что такое рекурсия,...

Не понимаю как работает алгоритм
Всем доброго времени суток. Настиг такой вопрос, с которым уже более недели не могу разобраться:...

Не понимаю, как работает код?
int main(int argc, char** argv) //кол-во аргументов, указатель на массив указателей на сами...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.