我希望能够使用Scanner在控制台中的字符之间进行写入。我使用的代码:
Scanner sc = new Scanner(System.in);
System.out.print("[customer ID: t]");
int id = sc.nextInt();
当前输出为:
[customer ID: ]
如果我试着在括号之间输入,就会发生这种情况:
[customer ID: ]123
有什么方法可以使文本出现在括号之间吗?预期输出:
[customer ID: 123]
答案是否定的。您需要点击sc.nextInt((的回车键来读取输入。任何输出都将在下一行,而不是在您输入的行上。
System.out.print("[Customer ID: " + sc.nextInt() + "]";
24
[Customer ID: 524]
我能想到的最接近的是这样的东西:
System.out.print("Customer ID: ");
int id = sc.nextInt();
其产生以下输出:
Customer ID: 1234
问题的答案是否定的。一旦输出被发送到控制台(或其他输出设备(,就完成了。您不能追溯修改已使用的输出并对其进行修改。您必须创建一个新的输出并将其发送到输出设备。这就像打印一张纸,然后在打印出来后直接从程序中对纸进行校正。
或者,你可以做一些类似的事情
Scanner sc = new Scanner(System.in);
System.out.print("Enter your customer ID: ")
int id = sc.nextInt();
System.out.print("[customer ID: " + id + "]");
不幸的是,不可能按照你的要求去做。