在C语言中,从控制台读入数据用的是scanf函数,c++中用的则是cin流。而Java I/O类和接口众多,一般读取控制台数据,用Scanner类。下面是具体用法
//针对多行数字输入来进行处理
public class ScannerTest {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=0;
int m=0;
//用来承接读入的一行字符串
String str=null;
//切分字符串
StringTokenizer st=null;
//对于一行只有一个输入,可以采用通用的字符串切分方式
if(in.hasNextLine()){
str=in.nextLine();
st=new StringTokenizer(str, " ");
n=Integer.parseInt(st.nextToken());
}
//对于一行只有一个输入,也可以直接将字符串转化为整数
System.out.println(n);
if(in.hasNextLine()){
str=in.nextLine();
//Integer的静态方法,将字符串转化为int类型
m=Integer.parseInt(str);
}
System.out.println(m);
//输入一串数进行处理,将输入的整数存储在数组中
int array[]=new int[n];
if(in.hasNextLine()){
str=in.nextLine();
st=new StringTokenizer(str, " ");
for(int i=0;i<n;i++){
array[i]=Integer.parseInt(st.nextToken());
}
}
//通过split()方法将字符串切分
if(in.hasNextLine()){
str=in.nextLine();
String[] strs=str.split(" ");
for(int i=0;i<n;i++){
array[i]=Integer.parseInt(strs[i]);
}
}
for(int i=0;i<n;i++){
System.out.println(array[i]);
}
}
}