- 读取命令行输入并根据空格进行分隔
方法一:scanner
import java.util.Scanner;
public class ReadFromCommandline
{
public static void main(String [] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("Input:");
String m=sc.nextLine();
String [] arr = m.split("\\s+");
/* for(String ss : arr){
System.out.println(ss);
}*/
}
}
方法二:BufferReader
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReadFromCommandline
{
public static void main(String [] args)
{
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
System.out.println("2输入字符");
String s=null;
try {
s=bf.readLine();
} catch (IOException e) { e.printStackTrace();}
String [] arr = s.split("\\s+");
for(String ss : arr){
System.out.println(ss);
}
}
}
- .next() 和 .nextline()的区别
.next() 读到分隔符(如 空格 )即停止
import java.util.Scanner;
public class ReadFromCommandline
{
public static void main(String [] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("Input:");
String m=sc.next();
System.out.println(m);
}
}
}
/*
Input:
command 1 2 3 4 5 6
output:
command
*/
.nextline() 读到enter才停止
import java.util.Scanner;
public class ReadFromCommandline
{
public static void main(String [] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("Input:");
String m=sc.nextLine();
System.out.println(m);
}
}
}
/*
Input:
command 1 2 3 4 5 6
output:
command 1 2 3 4 5 6
*/