如何在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