我的目标是为电影收藏添加编辑功能,允许用户通过电影名称(用户通过扫描仪选择)选择电影及其相应信息并将其存储在一个字符串中,用户可以在其中替换和更新电影信息。
我有一个存储信息的ArrayList,如下所示;
Film Name:- 9, Film Duration (in mins):- 92, Film Release Year:- 2009, Rating Out of 5:- 4
...
我已使用.toString()
将ArrayList转换为字符串,具体取决于用户的输入。电影及其相应的信息将存储在一个单独的字符串中。
我的问题是我不确定如何正确使用扫描仪和子串操作以获得所需的结果。
这是我到目前为止所得到的;
while (editInterface) {
if (editArrayString.toLowerCase().contains(editScannerInput.toLowerCase())) {
String chosenFilm = editArrayString.substring(editArrayString.contains(editScannerInput), editArrayString.length() - 1);
System.out.println(chosenFilm);
editInterface = false;
} else {
System.out.println("Film name is not recognised in your collection, please enter a film name that is in your collection.");
}
}
while (editInterfaceAttribute) {
System.out.println("Which film attribute would you like to edit?");
if (editScannerInput.equals("Name".toLowerCase())) {
film.promptFilmName();
String newFilmName = film.getFilmName();
} else if (editScannerInput.equals("Duration".toLowerCase())){
film.promptFilmDuration();
int newFilmDuration = film.getDurationInMins();
} else if (editScannerInput.equals("Year".toLowerCase())) {
film.promptFilmYear();
int newFilmYear = film.getFilmReleaseYear();
} else if (editScannerInput.equals("Rating".toLowerCase())) {
film.promptFilmRating();
int newFilmRating = film.getFilmRatingOutOfFive();
} else {
System.out.println("Your input is not an attribute, please enter an attribute.");
}
}
我知道第一个if语句是完全错误的,因为我不确定如何通过子字符串将电影的信息存储到字符串中。所以任何建议都将不胜感激。