如何使用Scanner读取包含空格的字符串输入并在Java中打印出来?

问题描述 投票:0回答:3

如何使用包含空格的

Scanner
类接受用户在 Java 中输入的字符串并用空格打印接受的输入?

这是迄今为止我的代码:

import java.util.Scanner;

public class Solution {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int i = scan.nextInt();
        double j=scan.nextDouble();
        String k=scan.next.split(' ');

        // Write your code here.

        System.out.println("String: " + k);
        System.out.println("Double: " + j);
        System.out.println("Int: " + i);
    }
}

这是一个--输入 这是一个--输出

java java.util.scanner
3个回答
1
投票

我不太明白你遇到了什么问题,但我建议你阅读这样的所有字符串:

String myString = scan.nextLine();

如果你想将其分割到每个空间,那么就这样做:

String[] mySplitString = myString.split(" ");

请注意,上面的方法接受字符串变量而不是字符变量。您必须将拆分字符串存储到字符串数组 (String[]) 中,因为 split 方法将生成一个或多个字符串,具体取决于输入中有多少个空格。


0
投票

您可以使用 Scanner 类的 nextLine() 函数。 像这样:-

Scanner s = new Scanner(System.in);
String str = s.nextLine();   //for getting input
System.out.print(str);  //for Printing

希望这对您有帮助。


0
投票

读完double后需要scan.nextLine。

import java.util.Scanner;

public class Solution {

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int i = scan.nextInt();   

    double d = scan.nextDouble();
    scan.nextLine();   
    // Consume the newline character after double
    String s = scan.nextLine();

    System.out.println("String: " + s);
    System.out.println("Double: " + d);
    System.out.println("Int: " + i);

    scan.close();   

    }
}
© www.soinside.com 2019 - 2024. All rights reserved.