0

我写了这段代码。我是 Java 新手,愿意发展我的技能,所以我写了这段代码,为了学习数组,一位开发人员建议使用 HashSet,我期待新的建议。

import java.io.*;
public class dictionary 
{    
    public static void main(String args[])
    {
        String[] MyArrayE=new String[5];
        String[] MyArrayS=new String[5];


        MyArrayE[0]="Language";
        MyArrayE[1]="Computer";
        MyArrayE[2]="Engineer";
        MyArrayE[3]="Home";
        MyArrayE[4]="Table";


        MyArrayS[0]="Lingua";
        MyArrayS[1]="Computador";
        MyArrayS[2]="Ing.";
        MyArrayS[3]="Casa";
        MyArrayS[4]="Mesa";

            System.out.println("Please enter a word");
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
          String word= null;
           try {
             word= br.readLine();
           } catch (IOException e) {
             System.out.println("Error!");
             System.exit(1);
           }
           System.out.println("Your word is " + word);


        for(int i=0; i<MyArrayE.length; i++)  
        {
            if(word.equals(MyArrayS[i]))
            {
                System.out.println(MyArrayE[i]);

            }
        }   

    }
}

我的问题:如果用户输入了不在 MyArrayS 中的单词怎么办,我想检查它并打印一条语句,如“Word 不存在”。

我认为它可能看起来像:

if(word!=MyArrayS)
{
System.out.println("Word does not exist");
}

谢谢

4

2 回答 2

1

您可以简单地使用 .Contains(String) 方法来确定单词是否包含在数组中。

于 2012-08-31T21:15:41.503 回答
0

您必须检查数组的每个元素以查看它不存在。所以你的代码实际上看起来像:

int c;
boolean found = false;

for(c = 0;c < MyArrayS.length;c++) {
  if(MyArrayS.compareTo(word) == 0) {
   found = true;
  }
}

if(!found) {
  System.out.println("Word does not exist");
}
于 2012-08-31T21:03:41.547 回答