如何使用扫描仪在控制台中的字符之间写入
How to write in between characters in console using 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 + "]");
很遗憾,无法按照您的要求进行操作。
我希望能够使用扫描仪在控制台中的字符之间写入。我使用的代码:
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 + "]");
很遗憾,无法按照您的要求进行操作。