楼主不够认真啊你Show2方法里面的
if((index = i.getTitle().indexOf(in))!=1){
System.out.println(index+"\t"+i.getTitle());
}
应该是
if((index = i.getTitle().indexOf(in))!=-1){
System.out.println(index+"\t"+i.getTitle());
}
if((index = i.getTitle().indexOf(in))!=1){
System.out.println(index+"\t"+i.getTitle());
}
应该是
if((index = i.getTitle().indexOf(in))!=-1){
System.out.println(index+"\t"+i.getTitle());
}
嘿嘿,不好意思,粗心了,刚刚改回来了,不过继续报错中左边的数字不一致,两个方法输出的不一致。
必须不一致啊你ShowTypeByInput方法System.out.println((i+1) +"\t"+list1.get(i).getTitle());输出的是迭代的i+1
Show2方法System.out.println(index+"\t"+i.getTitle());输出的是从title属性里面查出的位置index
public static void ShowTypeByInput(String in){
List<Item> list1 = ShowType();
for(int i = 0;i<list1.size();i++){
if((list1.get(i).getTitle().indexOf(in))!=-1){
System.out.println((i+1) +"\t"+list1.get(i).getTitle());
}
}
}
中打印换成System.out.println(list1.get(i).getTitle().indexOf(in) +"\t"+list1.get(i).getTitle());
看看效果
嘿嘿,不好意思,粗心了,刚刚改回来了,不过继续报错中左边的数字不一致,两个方法输出的不一致。
必须不一致啊你ShowTypeByInput方法System.out.println((i+1) +"\t"+list1.get(i).getTitle());输出的是迭代的i+1
Show2方法System.out.println(index+"\t"+i.getTitle());输出的是从title属性里面查出的位置index
Show2方法中符合要求的title的位置为什么会变?这个方法不是按照我写入的顺序遍历里面的array,判断是否含有我输入的字符串的吗?
不好意思,前段时间有事没开电脑,现在将代码奉上:
package xmlTest;public class Item {
private String title;
private String link;
private String description;
private String pubDate;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getPubDate() {
return pubDate;
}
public void setPubDate(String pubDate) {
this.pubDate = pubDate;
}
}
不好意思,前段时间有事没开电脑,现在将代码奉上:
package xmlTest;public class Item {
private String title;
private String link;
private String description;
private String pubDate;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getPubDate() {
return pubDate;
}
public void setPubDate(String pubDate) {
this.pubDate = pubDate;
}
}
public static void Show2(String in){
List<Item> list1 = ShowType();
for(Item i:list1){
int index=0;
if((index = i.getTitle().indexOf(in))!=1){
System.out.println(index+"\t"+i.getTitle());
}
}
}
这里得到的index是字符串in在整个一行中的位置,比如说在这一行里“U8650”在第一行字符串的位置是12,所以index=12,输出的也就是12了