zoukankan      html  css  js  c++  java
  • Java吸收换行符

            今天做题遇到的……

            由于读入的字符串可能包含空格,所以采用nextLine。

    int n = sc.nextInt();
    
    for(int i=0; i<n; i++) {
    
      String s = sc.nextLine();
      System.out.println(s);
    
    }

            上面的代码只会输出n-1个字符串,最后一个没有输出,原因nextInt()方法会读取下一个int型标志的token,但是焦点不会移动到下一行,仍然处在这一行上。当使用nextLine()方法时会读取改行剩余的所有的内容,包括换行符,然后把焦点移动到下一行的开头,所以这样就无法接收到下一行输入的String类型的变量。

            解决方案

    int n = sc.nextInt();
    
    for(int i=0; i<n; i++) {
    
      String s = sc.next();
    
      s += sc.nextLine();
    
      System.out.println(s);
    
    }

            原因: next()方法是以换行或者空格符为分界线接收下一个String类型变量,不过并没有提取换行或者空格,所以生成的s并不包含换行。

  • 相关阅读:
    软件工程第二次作业
    软件工程第一次作业
    5T-时延小结
    4T--5G网络时延
    2T--网络切片
    1T--5G 三大应用场景
    2020软件工程第一次作业
    软件工程最后一次作业
    软件工程第四次作业
    软件工程第三次作业
  • 原文地址:https://www.cnblogs.com/hxsyl/p/3255933.html
Copyright © 2011-2022 走看看