求助 数组线性查找方法,如何查找字符串类型

随时想吃苹果派 2015-12-20 11:03:14
刚开始学习java语言,学到常用数组查找方法,可以查找int类型,然后试了试其他数据类型,居然不对了。求好人解答!
题是这样的:查找指定的数在数组中出现的位置,找到返回下标加1,找不到返回-1

import java.util.Scanner;
public class LinearSearch
{
public static void main (String[]args){
String[]array={"a","b"};
System.out.println("Please input the letter ");
Scanner input=new Scanner(System.in);
String letter=input.next();
int index=-1;
for (int i=0;i<array.length ;i++ )
{
if (array[i]==letter)
{
index=i+1;
break;
}
}
System.out.println(index);
}
}
...全文
174 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一行两行 2015-12-21
  • 打赏
  • 举报
回复
“==”是比较地址,“equals”是比较地址中的内容
  • 打赏
  • 举报
回复
if (array[i].equals(letter))
改成这样就OK了。感谢各位。 有类似疑惑的可以参考这个网址(解释得非常详细):http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html
zhuchaofan1 2015-12-20
  • 打赏
  • 举报
回复
好像String的比较不能用==
做好当前事 2015-12-20
  • 打赏
  • 举报
回复
==比较的是两个引用指向的对象。假如你输入字符串a,且假设这个字符串对应的内存中的对象为a1;而数组中的a对应的对象并不是a1。所以你比较自己输入的a和数组中的a时,它们两个并不相同。你可以去百度下equals和==的区别,仔细体会下就知道了。

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧