我正在为学校工作,我们必须创建一个ArrayList,它接受两个参数并存储它们。然后我必须写一个“if”语句,如果没有电影然后打印一行,但如果有电影然后循环它并打印每个电影信息。好吧,我很难写if语句。
import java.util.ArrayList;
public class MovieLibrary
{
private ArrayList<Movie> movies;
public String movieTitle;
public int movieRunLength;
public MovieLibrary()
{
movies = new ArrayList<Movie>();
}
public void addMovie(String title, int runLength)
{
movies.add(new Movie(title, runLength));
}
public void printMovies()
{
System.out.println("#################");
if (movies == null){
System.out.println("No movies in the library");
}
else{
for (Movie movie : movies){
movie.printMovieInfo();
}
}
System.out.println("#################");
}
}
代码编译并运行并且循环工作(如果有信息)但如果列表中没有任何内容则不会打印消息。
答案 0 :(得分:1)
更改
if (movies == null){
到
if (movies == null || movies.size() == 0){
如果电影列表为空,这并不一定意味着它是null
,您还需要检查其size
。
答案 1 :(得分:0)
您可以尝试以下两个选项之一:
手动编写验证,如
if(null == movies || movies.size == 0)
使用Apache collection utils(https://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/CollectionUtils.html)
如果(CollectionUtils.isEmpty(电影))
我建议第二种选择。
我希望,它有所帮助。
答案 2 :(得分:0)
Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1044] Access denied for user ''@'localhost' to database 'jkr'' in C:\xampp\www\jkr\core\connect.php:6
应改为
Access denied for user ''@'localhost'