Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 15.03.2020
Сообщений: 75
1

Каждую строку из файла добавить в конструктор

15.03.2020, 14:46. Показов 455. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Мне нужно прочитать из файла даты, проверить их по регулярному выражению и добавить в конструктор. Но, если я пишу даты в файле, то в конструктор оно пишет одну и ту же дату. А мне нужно КАЖДУЮ дату в конструктор поместить. Вот кусочек кода:

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
LocalDate date1 = LocalDate.of(2010, 12, 24);
        LocalDate date2 = LocalDate.of(2025, 12, 24);
        LocalDate date3 = LocalDate.of(1980, 12, 24);
Pattern pattern = Pattern.compile("^[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])");
 
        Matcher matcher;
        
        Freedom freedom;
        
        FileReader fr= new FileReader("file1.txt");
        Scanner scan = new Scanner(fr);
            
        //int i = 1;
        LocalDate date;
        while (scan.hasNextLine()) {
            String s = scan.nextLine();
            matcher = pattern.matcher(s);
            while (matcher.find()) {
                date = LocalDate.parse(s);
                
                freedom = new Freedom(date, date1, date2, date3, off);
                
                LinkedList<Freedom> free = new LinkedList<>();
                free.add(freedom);
                for(Freedom f: free)
                {
                    System.out.println(f);
                }
            }   
        }
        
        fr.close();
       
        }

date1, date2, date3 должно взять с файла, сейчас они инициализированы вручную.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2020, 14:46
Ответы с готовыми решениями:

Как в каждую строку(130 000 строк) txt-файла добавить символ табуляции (TAB) после первого значимого пробела (SPACE)?
Как в каждую строку большого(130 000 строк) txt-файла добавить символ табуляции (TAB) после первого...

Добавить слово на каждую строку в текстбоксе
В общем, есть текстбокс в котором записано, допустим &quot; 1 2 3 &quot; Есть кнопка, которая сохранит...

В каждую строку datagridview добавить button
Привет всем. Подскажите плиз, каким образом можно добавить в каждой строке datagridview кнопку?

Заменить каждую пустую строку файла на строку «Пустая строка»
Здравствуйте, помогите пожалуйста с данной задачей. Создать текстовый файл с произвольным...

6
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
17573 / 10326 / 2820
Регистрация: 21.10.2017
Сообщений: 22,388
15.03.2020, 16:11 2
Diana1880, ты в цикле каждый раз создаешь новый список и заносишь туда дату.
Цитата Сообщение от Diana1880 Посмотреть сообщение
LinkedList<Freedom> free = new LinkedList<>();
Поставь это перед while.

Не по теме:


Цитата Сообщение от Diana1880 Посмотреть сообщение
сканером из файла каждую строку в конструктор добавить
Йода?

0
1 / 1 / 0
Регистрация: 15.03.2020
Сообщений: 75
15.03.2020, 16:24  [ТС] 3
А как мне присвоить каждую строку к переменным, которые я буду в конструктор запихивать?
0
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
17573 / 10326 / 2820
Регистрация: 21.10.2017
Сообщений: 22,388
15.03.2020, 17:29 4
Diana1880, как минимум нужно посмотреть на конструктор. Может там можно и одной переменной обойтись
0
1 / 1 / 0
Регистрация: 15.03.2020
Сообщений: 75
15.03.2020, 17:34  [ТС] 5
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
public class Freedom implements  Comparable<Freedom> {
    private LocalDate dateOfCrime;//дата судимостей
    private LocalDate dateOfLastduresse;//дата последнего заключения
    private LocalDate dateOfLastexemption;//дата последнего освобождения
    private LocalDate dateOfBirth;
    private Offender offender;
    
    public Offender getOffender() {
        return offender;
    }
 
    public void setOffender(Offender offender) {
        this.offender = offender;
    }
 
    public Freedom(LocalDate dateOfCrime, LocalDate dateOfLastduresse, LocalDate dateOfLastexemption, LocalDate dateOfBirth, Offender offender)
    {
        this.dateOfCrime=dateOfCrime;
        this.dateOfLastduresse=dateOfLastduresse;
        this.dateOfLastexemption=dateOfLastexemption;
        this.dateOfBirth= dateOfBirth;
        this.offender=offender;
    }
 
 
    public LocalDate getDateOfCrime() {
        return dateOfCrime;
    }
 
    public void setDateOfCrime(LocalDate dateOfCrime) {
        this.dateOfCrime = dateOfCrime;
    }
 
    public LocalDate getDateOfLastduresse() {
        return dateOfLastduresse;
    }
 
    public void setDateOfLastduresse(LocalDate dateOfLastduresse) {
        this.dateOfLastduresse = dateOfLastduresse;
    }
 
    public LocalDate getDateOfLastexemption() {
        return dateOfLastexemption;
    }
 
    public void setDateOfLastexemption(LocalDate dateOfLastexemption) {
        this.dateOfLastexemption = dateOfLastexemption;
    }
 
    public LocalDate getDateOfBirth() {
        return dateOfBirth;
    }
 
    public void setDateOfBirth(LocalDate dateOfBirth) {
        this.dateOfBirth = dateOfBirth;
    }
 
    
    public String toString() {
        return  offender.toString() + "\n" +
                "dateOfCrime: " + dateOfCrime + "\n" +
                "dateOfLastduresse: " + dateOfLastduresse + "\n" +
                "dateOfLastexemption: " + dateOfLastexemption + "\n" +
                "dateOfBirth: " + dateOfBirth + "\n" +
                "\n";
    }
Пожалуйста. Надо с файла прочитать 4 разных даты с
LocalDate.
0
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
17573 / 10326 / 2820
Регистрация: 21.10.2017
Сообщений: 22,388
15.03.2020, 18:12 6
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static void main(String[] args) {
        LinkedList<Freedom> free = new LinkedList<>();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy, MM, dd");
 
        try (Scanner scan = new Scanner(new File("input.txt"))) {
            LocalDate[] argss = new LocalDate[4];
            int index = 0, off = 1;     // off -> ?
            while (scan.hasNextLine()) {
                argss[index++] = LocalDate.parse(scan.nextLine(), formatter);
                if (index >= 4) {
                    index = 0;
                    free.add(new Freedom(argss[0], argss[1], argss[2], argss[3], off));
                }
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }
 
        free.forEach(System.out::println);
    }
input.txt
Код
2010, 12, 24
2025, 12, 24
1980, 12, 24
2012, 12, 14
2027, 11, 27
1983, 11, 30
2007, 11, 27
1983, 11, 30
Result
Bash
1
2
Freedom{date= 2010-12-24, date1= 2025-12-24, date2= 1980-12-24, date3= 2012-12-14, x=1}
Freedom{date= 2027-11-27, date1= 1983-11-30, date2= 2007-11-27, date3= 1983-11-30, x=1}
1
1 / 1 / 0
Регистрация: 15.03.2020
Сообщений: 75
15.03.2020, 19:48  [ТС] 7
Спасибо большое!!!!!!!
0
15.03.2020, 19:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2020, 19:48
Помогаю со студенческими работами здесь

Как добавить в DataGrid кнопку в каждую строку
Здравствуйте =)) Подскажите Как добавить в DataGrid кнопку в каждую строку. те у меня есть dg...

Как добавить текст из Edit1 в листбокс в каждую 3 строку?
Имеется Button1, Edit1 и ListBox1 с текстом: 11111 22222 33333 44444 55555 66666 Как...

Вывести каждую пятую строку файла
program stroka; const N = 30; var f: text; m: array of integer; i: byte; begin ...

Считать каждую строку из файла .doc
Рябята, я делаю курсовую и у меня есть такая проблема: Моя программа должна считывать каждую строку...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru