0

我无法按索引显示数组,我不知道为什么会这样。任何帮助将不胜感激。这是我的代码片段:

// create token2
    String token2 = "";

    // create Scanner inFile2
    Scanner inFile2 = new Scanner(new File
    ("/Users/timothylee/KeyWestHumid.txt")).
            useDelimiter(",\\s*");

    // create temps2
    List<String> temps2 = new LinkedList<String>();

    // while loop
    while(inFile2.hasNext()){

        // find next
        token2 = inFile2.next();

        // initialize temps2
        temps2.add(token2);
    }

    // close inFile2
    inFile2.close();

    // create array
    String[] tempsArray2 = temps2.toArray(new String[0]);

    // for-each loop
    for(String ss : tempsArray2){

        // display ss
        System.out.println(tempsArray2[0]);
    }
4

3 回答 3

1

改进你的 for 循环:

// for-each loop
for(int i=0;i<tempsArray2.length;i++){
    // display ss
    System.out.println(tempsArray2[i]);
}

如果你喜欢for-each

// for-each loop
for(String ss : tempsArray2){

    // display ss
    System.out.println(ss);
}
于 2013-11-08T02:39:20.730 回答
1
// for-each loop
for(String ss : tempsArray2){

    // display ss
    System.out.println(tempsArray2[0]);

你的问题就在这里。您实际上根本没有使用该ss变量,您只是在每次循环时都显示第一个字符串。

于 2013-11-08T02:38:54.933 回答
0

你已经正确地放入了你的增强for循环,它只是你没有正确挑选的项目。使用增强的 for 循环允许您在不使用索引的情况下选择项目。

改变你的循环

// for-each loop
    for(String ss : tempsArray2){

        // display ss
        System.out.println(tempsArray2[0]);
    }

// for-each loop
    for(String ss : tempsArray2){

        // display ss
        System.out.println(ss);
    }
于 2013-11-08T02:41:54.543 回答