Java中import java.util.Scanner的用处

本文详细介绍了Java中Scanner类的next()和nextLine()方法,比较了它们在处理字符串输入时的区别,next()会屏蔽分隔符直到有效字符,而nextLine()则包括分隔符直到遇到换行符。
摘要由CSDN通过智能技术生成

 一:Scanner这个类最实用的地方表现在获取控制台输入

java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。首先要导入包   import  java.util.Scanner;

Scanner类的创建对象:     Scanner  S=new Scanner(System.in);    

二   Scanner类中常用的方法next()和nextLine()的区别:


next():作为字符串输入的方法,自动屏蔽掉输入的分隔符,如空格、Tab键、回车键,直到遇到有效地字符输入后,则将这些分隔符作为结束标志;

nextLine();则是将从开始运行所输入的所有的字符,包括分隔符,均作为控制台输入,只有在遇到enter回车键时,才结束输入,并将所有的内容作为输入内容传给Scanner;

首先咱们尝试next这种方式接收
public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
        // next方式接收字符串
        System.out.println("next方式接收:");
        // 判断是否还有输入
        if (scan.hasNext()) {
            String str1 = scan.next();
            System.out.println("输入的数据为:" + str1);
        }
        scan.close();
    }
结果为:

很明显,“晴晴”两字并未输出出来,原因就是刚刚讲过得啦~~~【next():作为字符串输入的方法,自动屏蔽掉输入的分隔符,如空格、Tab键、回车键,直到遇到有效地字符输入后,则将这些分隔符作为结束标志;】

接下来咱们尝试nextLine这种方式接收
 public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
        // next方式接收字符串
        System.out.println("nextLine方式接收:");
        // 判断是否还有输入
        if (scan.hasNext()) {
            String str1 = scan.nextLine();
            System.out.println("输入的数据为:" + str1);
        }
        scan.close();
    }

结果为:

看到这里,二者的区别就很明显了叭,通俗的说,就是接收特殊字符的时候是否被识别为结束符。接收整数和浮点数是一个道理啦~

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
优化这段代码 import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; import java.util.TreeSet; /** * @Author 陈平安 * @Date 2022/8/29 9:25 * @PackageName:PACKAGE_NAME * @ClassName: Main * @Description: TODO * @Version 1.0 */ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int[] arr = new int[n]; // int m = scanner.nextInt(); //获取数据 // int sum = 0;///每组的和 // TreeSet map = new TreeSet();//利用其具有自动排序的功能 // ArrayList<Integer> list = new ArrayList<>();//储存待测数据 for (int j = 0; j < arr.length; j++) { // list.add(scanner.nextInt()); arr[j] = scanner.nextInt(); }//for循环获取数据 // scanner.close(); // System.out.println(Arrays.toString(arr)); int count = 0; for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { count++; int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } System.out.print(count); //System.out.println(list.toString()); // for (int j = 0; j < list.size() - m+1; j++) {//遍历数据元素,记得要加一,因为临界条件的值也有用处 // //******************************+1************************ // //System.out.println(j+" j"); // for (int k = j; k < j + m; k++) { // // sum += list.get(k); // } // map.add(sum); // // sum = 0; // sum = 0;//每m组循环以后记得置为空 // } // System.out.println(map.first());//第一个元素就是最小值 } }
03-14

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值