Java 向量:如何检查每个元素是否等于用户输入?

Java 向量:如何检查每个元素是否等于用户输入?,java,Java,基本上这就是我所拥有的: 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); labe

基本上这就是我所拥有的:

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++;
    }

我需要做的是检查field1,看看它是否等于vector petList中的任何元素。我怎样才能做到这一点?我已经尝试在if循环的外部使用for循环,如下所示:
for(intz=0;z
但它返回了一个数组索引超出范围的错误。任何帮助都将非常棒!我更愿意使用与现在相同的基本结构来完成,但如果无法完成,则可以。如果有帮助,此代码位于buttonlistener类中。

,但不显示解决方案(因此没有给你发展技能的机会)这里有一个提示

您可以为每个循环使用一个

对于每次迭代,检查数组中当前位置的元素是否等于用户输入


祝你好运!

你看过Vector.petList.contains(field1.getText())中的contains方法了吗

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

并提出以下方法:

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;
}
私有静态布尔包含(向量v,字符串s){
对于(int i=0;i
如果我的猜测是正确的,那么在第
petList.add(j,input);
行中得到的数组索引超出了范围错误,为什么不使用
petList.add(input);
在for循环之后添加此输入,而不是指定索引

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