最近在编程中遇到了如下问题:如何从输入中读取一个数组,一直调试出问题,后来查阅了一些资料终于解决了。
这主要是关于scanner扫描器中的nextLine()方法以及spilt()方法的应用,代码如下所示:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
String str = sc.nextLine().toString();//用nextLine()可以读取一整行,包括了空格,next()却不能读取空格
String arr[] = str.split(" ");//拆分字符串成字符串数组
int a[] = new int[arr.length];
for(int j = 0; j < a.length; j++)
{
a[j] = Integer.parseInt(arr[j]);
System.out.print(a[j] + " ");
}
}
}
将输入的一行拆分成字符串数组,并且转化成整形数组,并且打印出来。
输入“12 36 58 94 22 12”,运行结果如下所示: