Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
4 / 4 / 1
Регистрация: 07.10.2012
Сообщений: 228

Считать данные из командной строки и отсортировать числа

19.08.2013, 22:01. Показов 4338. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Считываю данные из командной строки и если это число, то добавляю в коллекцию.
А потом хочу эти числа записать в массив Integer.
Но, во-первых, числа эти в массиве, как я поняла в отладчике, интерпретируется не так, как хотелось бы. Например, если ввожу 89, то в массив они записываются как 8 и 9. И, во-вторых у меня ошибка: выход за границы массива.

Помогите, пжл., кто чем может

Добавлено через 2 минуты
Код:

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
 Scanner sc = new Scanner (System.in);
            String text = sc.nextLine();
            
            Pattern p = Pattern.compile ("[1-9]"); 
            Matcher m = p.matcher(text);
            
            ArrayList <String> listNumbers = new ArrayList <> ();
            
            
            while (m.find()) {
                listNumbers.add(m.group());
            } 
            
            listNumbers.trimToSize();
            int sizeIntArray = listNumbers.size() + 1;
            Integer [] intArrayNumbers = new Integer [sizeIntArray];
            
           for (int i = 0; i < sizeIntArray; i ++) {
               
              intArrayNumbers [i] = Integer.valueOf(listNumbers.get(i).toString());//наверно, ошибка где-то здесь                              
           }
            
                int temp = 0;
            for (int i = 0; i < intArrayNumbers.length; i++) {
                
                if (intArrayNumbers [i] > intArrayNumbers [i + 1]);
                temp = intArrayNumbers [i];
                intArrayNumbers [i] = intArrayNumbers [i + 1];
                intArrayNumbers [i + 1] = temp;
            }
            
            for (int i = 0; i < intArrayNumbers.length; i++) {
                System.out.print(intArrayNumbers [i]);
            }
Добавлено через 55 минут
ну и потом надо произвести все равно какую сортировку
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.08.2013, 22:01
Ответы с готовыми решениями:

Считать результат с командной строки
Нужно выполнить команду в командной строке и считать результат без создания временных файлов function RunConsoleCmd(const Cmd:...

Считать результат с командной строки
С помощью дефи открываю командную сторку и вписываю туда комаду, но бывает, что она не отрабатывает, а делфи всеравно выдает сообщение об...

Как считать аргументы командной строки
подскажите, пожалуйста. В задании сказано значения принимаются из командной строки....Командная строка (исполняемый модуль в текущем...

4
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
20.08.2013, 03:04
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.*;
 
class InvokeNumbers {
    public static void main(String [] args) {
        ArrayList<Integer> arr = new ArrayList<>();
        for ( String s : args ) {
            try {
                int n = Integer.parseInt(s);
                arr.add(n);
            }
            catch ( NumberFormatException e ) {}
        }
        Collections.sort(arr);
        for ( Integer i : arr )
            System.out.println(String.valueOf(i));
    }
}
Не проверял
1
4 / 4 / 1
Регистрация: 07.10.2012
Сообщений: 228
20.08.2013, 21:05  [ТС]
"[1-9]" - оказывается, это регулярное только для одной цифры.
Регулярное выражение для любого числа - ^[A-Z], но у меня почему-то пишет ошибку, - "^" - invalid exprission :-(
Что еще можно придумать?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
20.08.2013, 21:19
Цитата Сообщение от iKapex Посмотреть сообщение
Что еще можно придумать?
"\\d+"
1
4 / 4 / 1
Регистрация: 07.10.2012
Сообщений: 228
20.08.2013, 22:17  [ТС]
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Scanner sc = new Scanner (System.in);
        
        Pattern p = Pattern.compile ("\\d+"); 
        String text = sc.nextLine();
        Matcher m = p.matcher(text);
        
        ArrayList<Integer> arr = new ArrayList<>();
        
        while (m.find()) {
            
            arr.add(Integer.parseInt(m.group()));    
        }
        
        Collections.sort(arr);
        System.out.print(arr);
Вот так работает А как обратиться к отдельному элементу коллекции?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.08.2013, 22:17
Помогаю со студенческими работами здесь

Не получается считать значение параметров из командной строки
Нужно cоставить программу , которая выводит на экран значение функции F(x) в заданном диапазоне .Диапазон и шаг изменения аргумента...

Как считать значение из командной строки и преобразовать int в string ?
Задание: &quot;Переставьте местами слова в предложении, под указанными позициями, введенными в командной строке при запуске программы&quot; ...

Считать данные из файла и отсортировать по убыванию методом Шелла
1.Сформировать массив U1 вещественного типа размерностью 22 и сохранить значения элементов в файле. Считать данные из файла и отсортировать...

Считать данные из файла и отсортировать их методом бинарных включений
Помогите пожалуйста))))) Получить вектор А из 50 чисел , где Аi=100*.Сохранить вектор А в виде файла,производя округление до 2 знаков...

Объясните пожалуйста как считать данные из файла и отсортировать их
Например, мне вот нужно считать из файла город и температуры &quot;москва&quot;:&quot;10&quot;;&quot;самара&quot;:&quot;15&quot;;&quot;сочи&quot;:&quot;20&quot;... ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru