如何在数组中找到某个值

时间:2015-02-09 18:12:57

标签: java loops

我试图找到第一次在数组中出现某个值并增加它。 然后在相同位置的字符串数组中输入名称。

例如,我有array = {2, 1, 0, 0}string array = {null, null, null, null}

我要做的是检查数组是否为零,如果找到一个,则将其值增加1并在相应的字符串数组中输入一个名称。因此,如果零位于int数组的第3个位置,则用户可以在字符串数组中的第3个位置输入名称。

如果我再次调用该方法,它将使用以下零。任何建议我如何能做到这一点将不胜感激!

4 个答案:

答案 0 :(得分:2)

您可以尝试:java.util.Arrays.asList(theArray).indexOf(0) 通过这种方式,您可以找到0的位置,然后将其用于您的目的

答案 1 :(得分:2)

你会这样做:

Scanner s = new Scanner(System.in);
for (int i = 0; i <= array1.length; i++) {
    if (array1[i] == 0) {
        array1[i]++;
        String str = s.nextLine();
        array2[i] = str;
    }
}

或者如果您想使用JOptionPane,则会将Scanner行替换为String str = JOptionPane.showInputDialog(null, "Enter A String");

答案 2 :(得分:1)

您可以尝试这样的事情:

int index = 0;
for(int i = 0; i < arrayNumbers.size; i++){
  if(arrayNumbers[i] == 0){
     index = i;
     break;
  }
}

arrayNames[index] = newName;

答案 3 :(得分:0)

下面的类创建了您提供的两个数组。在运行时,程序检查整数数组array1中的零。如果它找到零,则将其递增1。然后使用该元素的索引来修改String数组array2。你在运行时决定了刺痛是什么。

public class FindValue {

private int[] array1 = { 2, 1, 0, 0 };
private String[] array2 = { null, null, null, null };



public void checkStuff() {
    for (int i = 0; i < array1.length; i++) {
        if (array1[i] == 0) {
            array1[i]++;
            System.out.println("Enter string: ");
            Scanner s = new Scanner(System.in);
            String inputstr = s.nextLine();
            array2[i] = inputstr;

        }

    }

}

public void getIntArray(){
     for (int i = 0; i < array1.length; i++) {
        System.out.println(array1[i]);
    }
}
public void getStrArray(){
    for (int i = 0; i < array2.length; i++) {
        System.out.println(array2[i]);
    }
}
public static void main(String[] args) {
    FindValue here = new FindValue();

    here.checkStuff();
    here.getIntArray();
    here.getStrArray();

}
}