2017-01-08 37 views
-2

我試圖在使用掃描儀的數組中輸入數據,但是有一些不尋常的事情發生,假設我將輸入數據作爲1 2輸入到整數數組中,當我試圖打印它時給了我2 0。我給的代碼作進一步澄清如何在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開始。這就是它顯示2而不是1的原因:)

相關問題