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