电影 IMDb 前 250 名分类器代码 -- 使用 *.get() 打印 ArrayList 时出现问题<OptionMovie>;



我正在尝试制作一个代码,它的工作方式有点像IMDb前250部电影的"分类器"。所以,我在Imdb的网站上做了一些网络抓取。代码的工作原理是这样的:在第一部分中,我询问用户是否希望显示前250 imdb所有时间的电影列表(键入"1"表示"是"(,在第二部分中;动作、神秘、惊悚、喜剧等;。好的,用户可以选择下面的选项之一,然后在输出控制台中显示与相应类型相关的标题电影。现在,我在代码中做了一个部分,用户可以选择其中一个标题电影,如果他们觉得有趣的话,在选择之后,会显示一些信息,比如电影的描述。但是,问题来了:System.out.println(get.list1(((不工作,它在控制台输出中没有显示任何内容,Eclipse只是终止了操作。

代码的这一部分看起来像这样:

情况21:System.out.println("西方:"(;最终文档document211=J汤.连接(";https://www.imdb.com/search/title/?genres=western&groups=top_250&sort=user_rating,desc"(。get((;元素div211=document211.select("div.lister-item-content"(;对于(元素e:div211.select("h3"({字符串title=e.select(h3.lister-item-header a(.text((;list.add(标题(
System.out.println(k+"+title(;k++;

}
for(Element e : div211.select("p")) {
String description=e.select("p.text-muted").text();
System.out.println(description);
list1.add(description);
p++;
}
break;
}
System.out.println("Have u found any interesting title and you want more details about it? (Type '1')");
int option2=input.nextInt();
ok=false;
switch(option2){

case 1:
ok=true;
System.out.println("Introduce the order number of the title: ");
}
Scanner input2=new Scanner(System.in);
int optionMovie=input2.nextInt();
if(ok) {

if(optionMovie>=0 && optionMovie<=list1.size()) {

System.out.println(list1.get(optionMovie));
}

// here the description movie should be shown but nothing shows.
}
}

在控制台中,输出如下:0摄氏度面包,摄氏度?u、 cel urât1从前在西方2 Django dezlantuit3 Pentru Cativa Dolari in Plus4冥想者马德雷山脉5号6 Goana dupa Aur

u被问到是否想要关于标题的更多细节,u键入"1"表示"是",然后u键入标题的相应编号(在这种情况下从0-6开始(,然后我想看到相应标题的相应描述。但是list1.get(optionMovie(;在控制台中不起作用,并且创建了ArrayList。希望你能理解我的问题!希望找到一些解决方案来解决这个问题。

在此处输入图像描述

这里我有一张我的输出和代码中有问题的部分的小照片。

最新更新