Java从控制台输入数据

Java中控制台输入数据主要使用java.util.Scanner类
Scanner介绍:

1)从JDK5.0开始,java.util包中增加了Scanner类,
它是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。
把所输入的内容传给Scanner,作为扫描对象。
如果要获取输入的内容,则只需要调用Scanner的nextLine()等方法即可。

2)Scanner默认使用空格作为分割符来分隔文本,但允许你指定新的分隔符

3)Scanner多个输入时,可以按空格键或回车键输入下一个数据,最后按回车键结束输入

4)Scaner的几个方法:
delimiter()
返回此 Scanner 当前正在使用的匹配分隔符 Pattern。
useDelimiter(String pattern)
设置Scanner 新的分隔符pattern
hasNext()
判断当前扫描位置后是否还存在数据,存在返回true,否false
其他方法等具体查看API
代码演示一、:
输入字符串、整数等常见输入

public static void testScanner() 
{
    Scanner scanner = new Scanner(System.in);
//  String str = scanner.nextLine();    //一次输入一行
    String str = scanner.next();
    int i = scanner.nextInt();
    System.out.println("字符串:"+str+", 整数:"+i);
    scanner.close();

    Scanner s = new Scanner("12 45 sd fd,gd 5445 r.tg 46,64|sd");
//  s.useDelimiter(",");    //以“,”作为分隔符
//  s.useDelimiter("\\|");  //以“|”作为分隔符
    s.useDelimiter(" |,|\\.|\\|");//使用空格或逗号或点号或“|”作为分隔符
    while(s.hasNext()){
        System.out.println(s.next());
    }
    s.close();
}
控制台:
dfsa 4654   (<--输入)
字符串:dfsa, 整数:4654
12
45
sd
fd
gd
5445
r
tg
46
64
sd

代码演示二、:
多行数据输入并获取(输入0退出)

public static void testManyInput()
{
    String str1;
    String str2;
    Scanner sc = new Scanner(System.in);
    while(sc.hasNext()) {
        str1 = sc.nextLine();
        if(str1.equals("0")){
            break;
        }
        str2 = sc.nextLine();
        String[] s1 = str1.split(" ");
        for (String string : s1) {
            System.out.print(string+" ");
        }

        System.out.println();
        String[] s2 = str2.split(" ");
        for (String string : s2) {
            System.out.print(string+" ");
        }
    }
    sc.close();
}
控制台:
1 df 56
2 45 dfdfd 45
1 df 56 
2 45 dfdfd 45 
0

代码演示三、:
包含空格的数据输入

public static void testBufferedReader()
{
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    try {
        String read = br.readLine();
        System.out.println(read);
    } catch (IOException e) {
        e.printStackTrace();
    }
}
控制台:
gfds 456465 fdgdgf
gfds 456465 fdgdgf
    <^_^>
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值