java - 使用前导空格打印来自扫描仪的字符串输入

标签 java string io java.util.scanner

我已经扫描了一个 int 类型的输入,然后我尝试获取第二个 String 类型的输入,它的开头有空格,在打印这两个输入时,我希望将第二个输入打印为它是(带有空格)。

class Input{
    public static void main (String[] args) throws java.lang.Exception{

        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();


        String s=sc.next();
        s=s+sc.nextLine();

        System.out.println(n);
        System.out.println(s);
    }
}

输入:

4
      hello world.

预期输出:

4
      hello world.

实际输出:

4
hello world.

最佳答案

Scanner.next() 使用默认定界符,它将捕获任何空白序列。使用 Scanner.nextLine() 代替:

int n = sc.nextInt();
sc.nextLine();  // consume only the newline
String s = sc.nextLine();

Ideone Demo

关于java - 使用前导空格打印来自扫描仪的字符串输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45779974/

相关文章:

php - 如何使用 SymfonyStyle 对象获取选项

c++ - 检查用户是否存在(所有用户帐户都存储在一个文件中)

java - 用 Java 显示来自服务器的图像

java - 如何在 Apache CXF 中生成带有 5 个 header 的 JWT token ?

Java Akka Actors - 消息限制和优先级

c - 请用 C 中的字符数组/字符串解释这种行为

c# - 从字符串中删除\r

python - python 字符串格式中的元组?

c - 在 C 中的 write() 过程中更新文件末尾的数字

java - Azure - Java 应用程序