Невозможно добавить поле класса в ArrayList - PullRequest
0 голосов
/ 05 июня 2019

Я понятия не имею, как правильно написать строку кода, добавив поле класса в ArrayList

public class Main {
    public static void main(String[] args) throws IOException
    {
        zapisz("BazaDanych.txt");
        Scanner scanner = new Scanner(System.in);
        FilmExtended filmExtended = new FilmExtended();
        ArrayList<FilmExtended> bazaFilmow = new ArrayList<>();
        int i = 0;
        while(scanner.nextInt()!= 0)
        {
            boolean check = true;
            do
            {
                System.out.println("Podaj tytuł fimu: ");
                String temp = scanner.nextLine();
                if (temp.matches("[a-zA-Z]{2,}"));
                {
                    bazaFilmow.add(i,filmExtended.setTytul(temp));
                    check = false;
                }
            }while (check);
        }
    }

Ответы [ 4 ]

2 голосов
/ 05 июня 2019

Вы не увеличиваете свой индекс i. Это всегда 0. Вы должны поместить i++; в цикл do while

1 голос
/ 05 июня 2019
public class Main {
public static void main(String[] args) throws IOException
{
    zapisz("BazaDanych.txt");
    Scanner scanner = new Scanner(System.in);
    List<FilmExtended> bazaFilmow = new ArrayList<>();
    //remove index
    while(scanner.nextInt() != 0)
    {
        boolean check = true;
        do
        {
            System.out.println("Podaj tytuł fimu: ");
            String temp = scanner.nextLine();
            if (temp.matches("[a-zA-Z]{2,}"));
            {
                FilmExtended filmExtended = new FilmExtended(); //create new instance
                filmExtended.setTytul(temp);
                bazaFilmow.add(filmExtended); //use add without index or else need to increment your index
                check = false;
            }
        } while (check);

} }
1 голос
/ 05 июня 2019

Вы должны добавить i++; в цикле do while

0 голосов
/ 05 июня 2019

Два способа исправить это:

  1. filmExtended.setTytul(temp) должен вернуть this.
  2. i++ или удалить i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...