在OJ中经常遇到在以空格分隔输入数组的情况,在c和c++下还挺好整,在java里头不太好搞了,而且在java这种语法特别冗长的语言中做这种跟主要思想无关的体力活特别烦人( ´_ゝ`)
虽然在python中也只能以类似的方法输入,但体验好多了( ゚∀。)
先看看代码:
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))
//竞赛中一般不用Scanner,因为这玩意儿相比BufferedReader来说实在是太慢了
String[] input = reader.readLine().split(" ");
//先以字符串类型存储用户输入的全部数据,包括空格
//ps:草,没想到Java的String类也自带split方法
int[] numbers = new int[input.length - 1];
for(int i = 0; i < numbers.length; i++) {
numbers[i] = Integer.parseInt(input[i+1]);
}//就是把字符串变成整型数字,不过不能直接强制转换数组,所以害得套个for循环(悲)
System.out.println("Array = "+Arrays.toString(numbers));
}
刚刚讲到python也是以类似的方法输入的,那也来一段code:
List = input()
List = List.split(" ")
[int(List[i]) for i in range(0,len(List)]
只有短短三行,是不是简短多了(喜)



