为什么我的这个查找函数只能查找直接赋值的内容,但是不能查找输入的内容?我输入的和直接赋值的都是String类型啊,为什么会这样?
这是控制台截图:
这是代码:
package myPackage;
import java.util.Scanner;
public class MyDictionary {
public static void menu() { //打印菜单
System.out.println("----------菜单----------");
System.out.println("1----------------查找单词");
System.out.println("2----------------删除单词");
System.out.println("3----------------增加单词");
System.out.println("4----------------修改单词");
System.out.println("0----------------退出程序");
}
public static String search(String[][] dict,String ch) { //查找
for (int i = 0; dict[i][0]!=null; i++) {
if(dict[i][0]==ch) {
return dict[i][1];
}
}
return "字典中没有录入该单词。";
}
public static void delete(String[][] dict,String ch) { //删除
if(search(dict, ch)=="字典中没有录入该单词。") {
System.out.println("字典中没有录入该单词,无法进行删除操作!");
return;
}
for (int i = 0; dict[i][0]!=null; i++) {
if(dict[i][0]==ch) {
for (int j = i; dict[j][0]!=null; j++) {
dict[j][0]=dict[j+1][0];
dict[j][1]=dict[j+1][1];
}
System.out.println("删除成功!");
}
}
}
public static void add(String[][] dict,String ch,String en) { //增加
if(search(dict, ch)==en) {
System.out.println("字典中已有该单词,无需添加。");
return;
}
int length=0;
for (int i = 0; dict[i][0]!=null; i++) {
length++;
}
dict[length][0]=ch;
dict[length][1]=en;
System.out.println("单词"+en+"添加成功!");
}
public static void replace(String[][] dict,String ch,String newch,String newen) { //修改
if(search(dict, ch)=="字典中没有录入该单词。") {
System.out.println("字典中没有录入该单词,无法进行修改操作!");
return;
}
for (int i = 0; dict[i][0]!=null; i++) {
if(dict[i][0]==ch) {
dict[i][0]=newch;
dict[i][1]=newen;
System.out.println("单词"+ch+"已成功替换为"+newch);
}
}
}
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String[][] dict=new String[1000][2];
//初始化字典内容
dict[0][0]="苹果";
dict[0][1]="Apple";
dict[1][0]="香蕉";
dict[1][1]="Banana";
dict[2][0]="橘子";
dict[2][1]="Orange";
dict[3][0]="草莓";
dict[3][1]="Strawberry";
dict[4][0]="樱桃";
dict[4][1]="Cherry";
int command;
System.out.println("请输入你要查找的:");
String objString=input.next();
System.out.println(objString.getClass().getSimpleName());
System.out.println("苹果".getClass().getSimpleName());
System.out.println(search(dict, "苹果"));
System.out.println(search(dict, objString));
}
}