Scanner用法

Scanner

正文前的ingredients(佐料)

implements:工具

Iterator [iteratə]:迭代器

stream:数据流

delimiting:划界

用法

例一:

Scanner scaner02 = new Scanner(System.in);//new一个Scanner类

//然后开始接收用户数据,需要区分类型,比如int、String…

int a = scaner02.nextInt();

String str = scaner02.nextLine();

String alpabet = scaner02.next();

scaner02.close();

import java.util.Scanner;
public class Scanner02 {
    public static void main(String[] args) {
        Scanner scanner02 = new Scanner(System.in);
        int a = scanner02.nextInt();
        String str = scanner02.nextLine();
        System.out.println(a);
        System.out.println("that is it");
        System.out.println(str+"that is it");
    }

}

例如上方代码:输入1 (空白处为3个空格)
输出结果为:

1
1
that is it
that is it

说明:只要调用scanner02.nextxxx(),系统就会等待用户输入,其中需要注意的是:scanner02.nextInt()输入值后按回车结束调用;scanner02.nextLine()以回车结束调用;对比下方代码:

import java.util.Scanner;
public class Scanner02 {
    public static void main(String[] args) {
        Scanner scanner02 = new Scanner(System.in);
        String str = scanner02.nextLine();
        int a = scanner02.nextInt();
        System.out.println(a);
        System.out.println("that is it");
        System.out.println(str+" that is it");
    }

}

输入:
wse
12
输出:
12
that is it
wse that is it

总结:第一个代码中,如果输入1red,系统直接报错,原因为nextInt()仅接收int类型的数据;如果输入1 red,系统输出为

1
red//前边有三个空格;nextLine()接收回车键之前所有的字符

例二:

  1. scanner02.next()与scanner02.nextLine()的区别,不写了。
  2. hasnextLine()可以用来判断是否还有字符串输入。
  3. 下方示例:

​ 输入:
​ 12
​ 输出:
​ a

import java.util.Scanner;
public class Scanner02 {
    public static void main(String[] args) {
        Scanner scanner02 = new Scanner(System.in);
        int a = 96;
        if (scanner02.hasNext()) {
            a++;
            System.out.println((char)a);
        }
    }
}

输入:
d
输出:
aha

import java.util.Scanner;
public class Scanner02 {
    public static void main(String[] args) {
        Scanner scanner02 = new Scanner(System.in);
        int a = 96;
        if (scanner02.hasNextInt()) {
            a++;
            System.out.println((char)a);
            }else{
            System.out.println("aha");
        }
    }
}

总结:new了scanner02以后,只要程序在执行流程语句的过程中遇到scaner02.nextInt();之类的语句,系统都会等待输入

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值