簡體   English   中英

數組和for循環

[英]arrays and for loops

我寫了這段代碼。 我是Java的新手,並且願意發展我的技能,所以我寫了這段代碼,以學習Arrays,一位開發人員建議使用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");
}

謝謝

您可以簡單地使用.Contains(String)方法來確定單詞是否包含在數組中。

您必須檢查數組的每個元素以查看其是否不存在。 因此,您的代碼實際上看起來像:

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");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM