楼主不够认真啊你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());
            }

解决方案 »

  1.   

    index = i.getTitle().indexOf(in))!=1这个编译能通过吗
      

  2.   


    嘿嘿,不好意思,粗心了,刚刚改回来了,不过继续报错中左边的数字不一致,两个方法输出的不一致。
    必须不一致啊你ShowTypeByInput方法System.out.println((i+1) +"\t"+list1.get(i).getTitle());输出的是迭代的i+1
    Show2方法System.out.println(index+"\t"+i.getTitle());输出的是从title属性里面查出的位置index
      

  3.   

    建议把
    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());
    看看效果
      

  4.   


    嘿嘿,不好意思,粗心了,刚刚改回来了,不过继续报错中左边的数字不一致,两个方法输出的不一致。
    必须不一致啊你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,判断是否含有我输入的字符串的吗?
      

  5.   

    突然对你的Item类很感兴趣,看看代码
      

  6.   


    不好意思,前段时间有事没开电脑,现在将代码奉上:
    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;
    }


    }
      

  7.   


    不好意思,前段时间有事没开电脑,现在将代码奉上:
    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了
      

  8.   

    在Show2方法里,你想输出的应该是i在list1中的位置,而不是in在title中的位置