2017-01-08 6 views
-2

私はスキャナーを使って配列内の入力を取ろうとしましたが、何か異常なことが起こっていると仮定して、整数配列に入力を与えています。さらに明確化のためのコードを与えているJavaのイテレータを使用して配列のすべての要素を取得する方法は?

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 

答えて

0

ここsc.nextを削除してください。文の後

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

+0

ありがとう、それは働いた –

0

sc.next()声明 - >String str=sc.nextLine();はまだ文字列値を与えるために、ユーザのを待ちます。だからsc.next()は1の値をとり、配列の要素は2から始まります。それは1の代わりに2を表示する理由です:

関連する問題