Удалить объект из файла в java - PullRequest
0 голосов
/ 07 мая 2020

Пример кода:

else if (ninput == 4) {
                    System.out.println("Select a method\n");
                    System.out.println("1) Remove recording by index\n");
                    System.out.println("2) Remove recording by name\n");

                    sinput = scan.next();
                    ninput = Integer.parseInt(sinput);

                    if (ninput == 1) {
                        System.out.println("INDEX ");
                        for (int i = 0; i < Users.get(loginID).User_Playlist.numberOfRecordings; i ++) {
                            System.out.println((i+1)+ ") "+ Users.get(loginID).User_Playlist.recordingList.get(i) +"\n");
                        }   
                        System.out.println("Enter the index of the recording to remove: ");
                        sinput = scan.next();
                        ninput = Integer.parseInt(sinput);
                        Users.get(loginID).User_Playlist.recordingList.remove(ninput - 1);
                        Users.get(loginID).User_Playlist.numberOfRecordings--;

                        System.out.println(Users.get(loginID).User_Playlist.toString());
                    }
                    if (ninput == 2) {
                        for (int i = 0; i < Users.get(loginID).User_Playlist.numberOfRecordings; i ++) {
                            System.out.println((i+1)+ ") "+ Users.get(loginID).User_Playlist.recordingList.get(i) +"\n");
                        }   
                        System.out.println("Enter the name of the recording to remove: ");
                        sinput = scan.next();



                    }

                    }

Код, требующий исправления:

if (ninput == 2) {
                        for (int i = 0; i < Users.get(loginID).User_Playlist.numberOfRecordings; i ++) {
                            System.out.println((i+1)+ ") "+ Users.get(loginID).User_Playlist.recordingList.get(i) +"\n");
                        }   
                        System.out.println("Enter the name of the recording to remove: ");
                        sinput = scan.next();



                    }

Проблема: первый метод удаляет песню из списка воспроизведения на основе индекса песни в плейлист. Второй неполный метод - это удалить песню из файла списка воспроизведения на основе названия песни. Есть ли у кого-нибудь идеи, как я могу подойти к удалению отдельного элемента из файла на основе имени объекта?

1 Ответ

0 голосов
/ 07 мая 2020

Вы берете имя l oop поверх всех песен и сравниваете полученное имя с названием каждой песни. Как только найдете тот, выньте его (у вас есть его индекс - это счетчик l oop) и вырвитесь из l oop. Это самый простой c способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...