Java机试时Scanner的用法:单行/多行输入

转载至这儿

博主总结的太到位了。

另外,还有一些自己的理解:

        String nextLine = scanner.nextLine();
        String[] str = nextLine.trim().split(" ");
        System.out.println(Arrays.toString(str));
        int[] num = new int[str.length];
        for (int i = 0,j=0; i < str.length; i++) {
            num[i]=Integer.parseInt(str[i]);
        }
        System.out.println(Arrays.toString(num));

这个主要是用于【输入多行,而每行的输入个数无法确定的情况】
而且还可以根据需要决定是否转化为数值型变量

        Scanner scanner = new Scanner(System.in);


        int m = scanner.nextInt();
        String str = scanner.nextLine();
        System.out.println(m);
        System.out.println("*"+str+"*");
        //  输入:123 aaa
        //  第一行输出123
        //  第二行输出* aaa*

        // 输入123
        // 第一行输出123
        // 第二行输出**

        // 输入123
        // 第一行输出123
        // 第二行输出* *

// 总结:
0. .nextXxx() 方法遇到分隔符的时候,光标仍停留在这一行。而 .nextLine() 方法遇到分隔符的时候却会换行
1.几乎除了 .nextLine() 之外,所有的区分分隔符都是 空格 " "或者【回车】
2.【在同一行输入中】 可以使用多个除了 .nextLine() 之外的方法。分割划分变量很简单,遇到空格就可以得出一个变量
3.而对于 .nextLine() 方法,则是【一遇到回车就立马换行】,顺便保存点东西
4.那保存的是什么呢? 可能在同一行的前面还有多个别的 .nextXxx() 方法。而着多个方法得到的变量的子后一个变量一定是以空格符或者回车区分的。 那么此时, .nextLine()方法则会记录下最后一个变量的最后一个字符的之后的所有字符汇总成一个变量(当然,不包括回车)
然后这所有的字符又可以赋值给一个字符串变量
说这么多就是为了说明一点:只调用 .nextLine() 方法,而不选择赋值给变量的话,则就是为了【单纯的换行而已!】

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值