2013-02-13 59 views
0

基本上這就是我:矢量:如何檢查每個元素以查看它是否等於用戶輸入?

if(field1.getText().equals("")){ 
     label2.setForeground(Color.red); 
     label2.setText("Please enter a pet type"); 
    } 
    else if(field1.getText().equals(petList.get(z)){ 
     label2.setForeground(Color.red); 
     label2.setText("The pet type already exists"); 
    } 
    else{ 
     label2.setForeground(Color.red); 
     label2.setText("Pet Type Added"); 
    String input = field1.getText(); 
    petList.add(j,input); 
    j++; 
    } 

我需要做的是檢查字段1,看它是否等於任何在矢量petList元素。我怎樣才能做到這一點?我已經嘗試在if循環的外部使用for循環,如下所示:for(int z = 0; z < petList.size(); z++){但它返回的數組索引超出了範圍錯誤。任何幫助都是極好的!我寧願使用我現在具有的相同基本結構來完成它,但如果它不能完成,那就沒問題。此代碼位於buttonlistener類的內部,如果有幫助的話。

回答

1

你看Vector中的包含方法嗎? petList.contains(field1.getText())

0

更換

if(field1.getText().equals("")) 

這個
if (contains(vect, field1.getText())) 

,並把下面的方法:

private static boolean contains(Vector v, String s) { 
    for (int i = 0; i < v.size(); ++i) { 
     if (s.equals((String) v.elementAt(i))) { 
      return true; 
     } 
    } 
    return false; 
} 
0

如果我的猜測是正確的,你在第petList.add(j,input);行中得到數組索引超出範圍錯誤而不是指定索引,爲什麼不添加此inpu t for循環後使用petList.add(input);

相關問題