如何在java中使用迭代器获取数组的所有元素?

时间:2017-01-08 14:13:09

标签: java arrays eclipse

我曾尝试使用Scanner在数组中获取输入,但是有一些不寻常的事情发生,假设我将整数数组的输入作为1 2,当我尝试打印时它给了我2 0。我正在提供进一步澄清的代码

package org.prac.comp1;

import java.util.Arrays;
import java.util.Scanner;

public class TestClass {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //int count=0;
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        int n=sc.nextInt();
        sc.next();
        String str=sc.nextLine();
        sc.next();
        int arr[]=new int[2];
        for(int i=0;i<arr.length;i++){
            arr[i]=sc.nextInt();
            System.out.println(arr[i]);

        }
               }
    }

输入:

8
2
abcdabcd
1
2

输出:

2 

2 个答案:

答案 0 :(得分:0)

请在此处删除sc.next。

int n = sc.nextInt(); //sc.next(); String str = sc.nextLine();

答案 1 :(得分:0)

声明后的

sc.next()声明 - &gt; String str=sc.nextLine();仍在等待用户提供字符串值。所以sc.next()取值为1,数组元素从2开始。这就是它显示2而不是1 :)的原因。