读取命令行输入并根据空格进行分隔 以及 .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 
*/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。