我想用扫描仪在链表中搜索,但我做不到。我不用扫描仪也能搜索。这段代码有什么问题?
我的搜索方法:
    public void Search(Object data){
    Node tmp = head ;
    while(tmp != null ){
        if(tmp.getData() == data){
            System.out.println("Your input is in the list");
        }
            tmp = tmp.getNext();
    }
}和我的主类:
  public static void main(String[] args) throws ParseException {
    LinkedList list =new Linkedlist();
    ...... // adding methods etc.
    Scanner input = new Scanner(System.in);
    System.out.println("Enter your input: ");
    String x=input.next();
    list.Search(x);
}发布于 2016-04-13 14:10:30
要根据Adam的建议进行构建,您可以考虑以下代码:
public void Search(String data){
     Node tmp = head ;
     while(tmp != null ){
         if(tmp.getData().equalsIgnoreCase(data)){
             System.out.println("Your input is in the list");
         }
            tmp = tmp.getNext();
     }   
}您应该使用.equals()或.equalsIgnoreCase()来比较字符串,而不是通过==进行比较,后者将彼此作为对象进行比较。
https://stackoverflow.com/questions/36585924
复制相似问题