【问题标题】:How I do make Scanner class reads my complete String input我如何让 Scanner 类读取我的完整字符串输入
【发布时间】:2020-03-17 04:42:45
【问题描述】:
Scanner sc = new Scanner(System.in);
String str = sc.next();

System.out.println(str);
Provided input : this is a good school
Obtained Output : this 

为什么没有打印完整的字符串?

【问题讨论】:

    标签: java string


    【解决方案1】:

    因为next() 返回下一个标记,而不是完整的行。

    你可以使用

    String str = sc.nextLine();
    

    【讨论】:

      【解决方案2】:

      来自Scanner.next()的文档:

      java.util.Scanner.next() 方法查找并返回下一个 来自此扫描仪的完整令牌。前面有一个完整的令牌,并且 后跟与分隔符模式匹配的输入。

      https://www.tutorialspoint.com/java/util/scanner_next.htm

      如果您想阅读整行,最好使用以下代码:

      BufferedReader buffer=new BufferedReader(new InputStreamReader(System.in));
      String line=buffer.readLine();
      

      取自这个答案: https://stackoverflow.com/a/8560432/481528

      【讨论】:

        猜你喜欢
        • 2018-11-08
        • 2010-11-30
        • 1970-01-01
        • 2010-11-30
        • 1970-01-01
        • 2012-04-06
        • 1970-01-01
        • 2022-08-18
        相关资源
        最近更新 更多