仅打印数组或数组索引的当前值

时间:2014-02-25 09:41:16

标签: java

Java新手:

我使用for循环迭代一个数组并检查它的值。 例如:如果数组包含数字100.然后执行某些操作, 但是,如果它没有获得当前变量的当前值。

检查时是否可以获取当前变量的值?

目前,当我使用else打印时,我会打印出所有内容。

像这样:

1
2
3
Found Something!

请原谅我的无知。只是试验:

public class MyArrayExample {

    private int[] intArray = new int[] {1, 2, 3, 100};

    public int[] getArrayValues() {
        return intArray;
    }

    public static void main(String[] args)
    {
        MyArrayExample example = new  MyArrayExample();

        int[] arrayValues = example.getArrayValues();

        for(int counter=0; counter<arrayValues.length; counter++) {

            int current = arrayValues[counter];

            if(current == 100)
            {
                System.out.println("Found Something!");
            }
            else{
                System.out.println(current);
            }

        }       
    }
}

2 个答案:

答案 0 :(得分:1)

要在检查时获取 current 的值,请在for循环外声明它以便能够访问变量值并添加一个布尔标志isFound:

    int current = 0;
    boolean isFound = false;

    for(int counter=0; counter<arrayValues.length; counter++) {

        current = arrayValues[counter];

        if(current == 100)
        {
            isFound = true;
            // do something
        }

    }

然后,一旦检查完成,您就可以获得当前的值或打印找到的东西:

    if (isFound) {
        System.out.println("Found Something!");
    } else {
        System.out.println("current: " + current);
    }

请注意。如果您要查找的值不在数组中,则 current 始终使用数组中的最后一个值进行分配。

答案 1 :(得分:0)

作为补充 - 您甚至不必自己编写循环,您可以使用现有的数组/集合方法,例如:

    Integer[] intArray = new Integer[] {1, 2, 3, 100};
    List<Integer> myList = Arrays.asList(intArray);
    System.out.println(myList.contains(100)); // checks if 100 exists in your array
    System.out.println(myList.indexOf(100));  // shows the position of the element 100