读取命令行输入并根据空格进行分隔 以及 .next()和.nextline()的区别

  1. 读取命令行输入并根据空格进行分隔

方法一: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);
        }
    }
}

  1. .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 
*/

你可能感兴趣的:(读取命令行输入并根据空格进行分隔 以及 .next()和.nextline()的区别)