2015-10-28 102 views
1

如何輸入長度可能不同的數組?輸入是空間分隔和結束時我按下輸入在java中輸入未知大小的數組

public class ArrayInput { 
    public static void main(String args[]){ 
     ArrayList<Integer> al = new ArrayList<Integer>(); 
     Scanner sc = new Scanner(System.in); 
     while(){//what condition to use here? 
      al.add(sc.nextInt()); 
     } 
    } 
} 

一個例子是:

1 2 5 9 7 4 //press enter here to mark end of input 
+0

是否在同一行所有你的整數?如果是這樣,只需從'Scanner'中讀取一行即可。 –

+0

你可以參考http://www.big4future.com/2015/09/fast-io-with-java-good-for-online.html它爲字符串,整數等 – Ansu

回答

1

閱讀使用\\s+使用sc.nextLine()然後split()整行。這樣,您不必擔心輸入大小(元素數量)。使用Integer.parseInt()將字符串解析爲整數。

2

由於所有的輸入是在一個單一的線,你可以讀取整個行,然後將其拆分爲整數:

String line = sc.nextLine(); 
String[] tokens = line.split(" "); 
int[] numbers = new int[tokens.length]; 
for (int i=0; i<numbers.length;i++) 
    numbers[i] = Integer.parseInt(tokens[i]); 
+5

'「\\小號各種方法+ 「'而不是'」「'? – TheLostMind