Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中的文本输出中包含空格_Java_Java.util.scanner - Fatal编程技术网

如何在java中的文本输出中包含空格

如何在java中的文本输出中包含空格,java,java.util.scanner,Java,Java.util.scanner,我想打印 String: fsdfsdf sdf Double: 2.3534534534523453E11 Int: 2147483647 如果我将输入作为 2147483647 235345345345.234534 fsdfsdf sdf 但我的输出是 String: fsdfsdf sdf Double: 2.3534534534523453E11 Int: 2147483647 帮助我如何在输出中包含前面的空格 我的代码: 默认情况下,Scanner使用空格将

我想打印

String:   fsdfsdf   sdf
Double: 2.3534534534523453E11
Int: 2147483647
如果我将输入作为

2147483647
235345345345.234534
  fsdfsdf   sdf
但我的输出是

String: fsdfsdf   sdf
Double: 2.3534534534523453E11
Int: 2147483647
帮助我如何在输出中包含前面的空格 我的代码:


默认情况下,
Scanner
使用空格将输入拆分为标记。和
Scanner.next()
返回下一个找到的令牌,在您的示例中是“fsdfsdf”

只需设置不同的分隔符,例如行分隔符:

public class Solution {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        scan.useDelimiter(System.lineSeparator());
        int i = scan.nextInt();
        double d = scan.nextDouble();
        String s = scan.next();
        String sn = scan.nextLine();

        System.out.println("String: " + s + sn);
        System.out.println("Double: " + d);
        System.out.println("Int: " + i);
    }
}
印刷品:

String:   fsdfsdf   sdf
Double: 2.3534534534523453E11
Int: 2147483647

(请注意,这也使得
String sn=scan.nextLine();
多余,因为
next()
已经为您提供了“fsdfsdf”)

我看不出这里有什么问题,为什么他不能直接解析数字?然后读取两行?仍然没有得到它会打印错误您可以使用数组列表来读取输入并根据请求字符串[]in=new String[3]解析数据,如Double.parseDouble(in[1])等。
String:   fsdfsdf   sdf
Double: 2.3534534534523453E11
Int: 2147483647