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

Как сделать чтобы в 1 элемент ArrayList считывалось несколько слов

13.02.2014, 01:00. Показов 2207. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Вот к примеру у меня в файле написано: "Вася Пупкин Николай Мостовой Винсент Каллисто" и мне надо их вывести в JList, чтобы одна строка соответствовала человеку с фамилией. Для этого нужно считывать в каждый элемент массива по 2 слова. Помогите пожалуйста, скажите, как это можно осуществить?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.02.2014, 01:00
Ответы с готовыми решениями:

Как ограничить Basket по ширине формы? Я тут хочу сделать по крайнему эллипсу чтобы считывалось
procedure TForm1.Basket(Sender: TObject); begin a:=205; b:=285; with Form1.Canvas do begin Pen.Color:=clBlack; ...

Сделать чтобы значение считывалось и считалось по формуле
Помогите пожалуйста. Есть edit, в который вводится числовое значение,нужно сделать чтобы это значение считывалось и считалось по формуле:...

Сделать так, чтобы максимальный элемент массива был удален, а если их несколько, то все
Нужно сделать так, чтобы максимальный элемент массива был удален, а если их несколько, то все. Затем сформировать уже новый массив, без...

39
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
13.02.2014, 09:52
Ну например да, каждый элемент по 2 слова, но думаю можно и как-то резать через пробел
Вот по 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
35
36
37
38
39
40
41
42
43
44
45
import javax.swing.*;
import java.awt.*;
import java.util.Vector;
 
public class ToJList extends JFrame {
 
    private static JPanel jPanel = new JPanel();
    private static JList<String> jList = new JList<>();
 
    public ToJList() {
 
        super("Application");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(new Dimension(200, 200));
 
        jList.setListData(getListData());
 
        jPanel.add(jList);
        add(jPanel);
 
        setVisible(true);
    }
 
    private Vector<String> getListData(){
 
        String str = "Вася Пупкин Николай Мостовой Винсент Каллисто";
 
        Vector<String> v = new Vector<>();
        String [] arr = str.split(" ");
 
        for(int i = 0; i < arr.length; i+=2){
            v.add(arr[i] + " " + arr[i+1]);
        }
 
        return v;
    }
 
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new ToJList();
            }
        });
    }
}
Добавлено через 7 часов 32 минуты
И да, JList принимает или массив Object или Vector, ArrayList нет
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
13.02.2014, 16:03  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение

Добавлено через 7 часов 32 минуты
И да, JList принимает или массив Object или Vector, ArrayList нет
я ArrayList конвертирую в обычный.
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
13.02.2014, 16:04
Цитата Сообщение от Black_White Посмотреть сообщение
я ArrayList конвертирую в обычный.
обычный - это что такое?)
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
13.02.2014, 16:04
Цитата Сообщение от dan41k Посмотреть сообщение
обычный - это что такое?)
Это раз.
А смысл?
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
13.02.2014, 16:27  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
Это раз.
А смысл?
В стринговый массив, так как в файле будет добавляться информация, а для этого нужен безразмерный массив.
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
13.02.2014, 16:30
А Vector и есть безразмерный массив, лишние операции делаете. Вам не надо ArrayList, используйте напрямую Vector, собственно код рабочий я привел. Только с файла перед этим в String записать
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
13.02.2014, 17:19  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
А Vector и есть безразмерный массив, лишние операции делаете. Вам не надо ArrayList, используйте напрямую Vector, собственно код рабочий я привел. Только с файла перед этим в String записать
А str - это строка в которую считывается?
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
13.02.2014, 17:24
Цитата Сообщение от Black_White Посмотреть сообщение
А str - это строка в которую считывается?
Это строка в которую с файла будет считываться информация. Вам нужно пока не будет конец файла, считывать строку, записывать в вектор, считывать следующую и так пока в цикле не считаете все строки и только потом возвращать результат
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
13.02.2014, 18:18  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
Это строка в которую с файла будет считываться информация. Вам нужно пока не будет конец файла, считывать строку, записывать в вектор, считывать следующую и так пока в цикле не считаете все строки и только потом возвращать результат
Читает без ошибок, но не выводит v нигде.
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
13.02.2014, 18:22
чуть изменю)

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
import javax.swing.*;
import java.awt.*;
import java.util.Vector;
 
public class ToJList extends JFrame {
 
    private static JPanel jPanel = new JPanel();
    private static JList jList = new JList();
 
    public ToJList() {
 
        super("Application");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(new Dimension(200, 200));
 
        jList.setListData(getListData());
 
        jPanel.add(jList);
        add(jPanel);
 
        setVisible(true);
    }
 
    private Vector<String> getListData(){
 
        String str = "Вася Пупкин Николай Мостовой Винсент Каллисто";
 
        Vector<String> v = new Vector<String>();
        String [] arr = str.split(" ");
 
        for(int i = 0; i < arr.length; i+=2){
            v.add(arr[i] + " " + arr[i+1]);
        }
 
        return v;
    }
 
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new ToJList();
            }
        });
    }
}
Добавлено через 30 секунд
так выводит)
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
13.02.2014, 18:28
У вас граф интерфейс пустой появляется?

Добавлено через 5 минут
Я понял. Какую версию Java вы используете?
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
13.02.2014, 18:29
Цитата Сообщение от _Den_ Посмотреть сообщение
Я понял. Какую версию Java вы используете?
1.6) У меня оно просто не компилируется...
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
13.02.2014, 18:30
Цитата Сообщение от dan41k Посмотреть сообщение
1.6) У меня оно просто не компилируется...
Ясно, я использую новые фишки 1.7. Так называемый робмовидный синтаксис) ну да ладно, парметризацию дописать надо просто
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
13.02.2014, 23:31  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
Ясно, я использую новые фишки 1.7. Так называемый робмовидный синтаксис) ну да ладно, парметризацию дописать надо просто
Спасибо, а можно как-то попроще чтобы так считало в ArrayList? Просто как не пробовал с вектором не получается.
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
13.02.2014, 23:39
Цитата Сообщение от Black_White Посмотреть сообщение
Просто как не пробовал с вектором не получается.
Что именно не получается, расскажите, покажите? JList принимает только массив Object или Vector, по другому никак. Если вам не нравится Vector, используйте массив стрингов и всё. Если сильно надо ArrayList ну запишите себе данные туда, пусть висят там, но с него в JList вы не считаете
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
14.02.2014, 00:29  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
Что именно не получается, расскажите, покажите? JList принимает только массив Object или Vector, по другому никак. Если вам не нравится Vector, используйте массив стрингов и всё. Если сильно надо ArrayList ну запишите себе данные туда, пусть висят там, но с него в JList вы не считаете
Я могу потом конвертировать в стринговый.
Я считываю как у вас:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
private Vector<String> getListData(){
        String str="";
        while(scn.hasNext()){
        str = scn.nextLine();
        } scn.close();
        Vector<String> v = new Vector<>();
        String [] arr = str.split(" ");
 
        for(int i = 0; i < arr.length; i+=2){
            v.add(arr[i] + " " + arr[i+1]);
        }
 
        return v;
А затем вставляю в другом классе в JList(v);
Но постоянно выдаёт ошибку: V cannot be resolved or is not a field
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
14.02.2014, 00:32
Вы IDE не используете? Я же говорил, что параметризацию нужно прописать если не 7 версия java. И вам в посте исправленный код кинули
Попробуйте так
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
private Vector<String> getListData(){
        String str="";
        while(scn.hasNext()){
        str = scn.nextLine();
        } scn.close();
        Vector<String> v = new Vector<String>();
        String [] arr = str.split(" ");
 
        for(int i = 0; i < arr.length; i+=2){
            v.add(arr[i] + " " + arr[i+1]);
        }
 
        return v;
И ваш код будет выводить только последнюю строчку в файле, а не все
0
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 68
14.02.2014, 00:39  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
Вы IDE не используете? Я же говорил, что параметризацию нужно прописать если не 7 версия java. И вам в посте исправленный код кинули
Попробуйте так
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
private Vector<String> getListData(){
        String str="";
        while(scn.hasNext()){
        str = scn.nextLine();
        } scn.close();
        Vector<String> v = new Vector<String>();
        String [] arr = str.split(" ");
 
        for(int i = 0; i < arr.length; i+=2){
            v.add(arr[i] + " " + arr[i+1]);
        }
 
        return v;
Я 7 версию использую. Скопировал ваш код, вставил и ничего не изменилось.

Добавлено через 1 минуту
Цитата Сообщение от _Den_ Посмотреть сообщение
И ваш код будет выводить только последнюю строчку в файле, а не все
у меня всё в одной строке. А может просто поставить как разделитель не пробел, а к примеру $, так можно?
0
28 / 28 / 10
Регистрация: 24.05.2013
Сообщений: 157
14.02.2014, 00:41
Цитата Сообщение от Black_White Посмотреть сообщение
А затем вставляю в другом классе в JList(v);
Вангую - не правильно передаешь вектор в этот класс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.02.2014, 00:41
Помогаю со студенческими работами здесь

Переделать чтобы считывалось из файла
Программа собирает тройки цифр по возрастанию . Препод сказал что надо сделать из файла что надо добавить в программировании совершенно не...

Как сделать, чтобы работало несколько форм?
Здравствуйте. Помогите с такой проблемой, есть страница на которой модуль выводит несколько (примерно 5-8) товаров определенной категории,...

Как сделать чтобы в условии выполнялось несколько действий?
работает так; begin if a+b then Form2.Show else а нужно, что бы где form2.show ,было 2 выполнения...

Как сделать чтобы скачивалась не одна картинка а несколько?
Есть код, он сохраняет один файл (картинку):#include &quot;mainwindow.h&quot; #include &quot;ui_mainwindow.h&quot; #include &lt;QFile&gt; #include...

Как сделать, чтобы в if выполнялась ни одна команда, а несколько
Укажите на ошибки. И главный вопрос: как сделать, чтобы в if выполнялась ни одна команда, а несколько. program MictuneOS; uses ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru