>想知道是否可以在消息命令后面加上一个短语。运行程序后,控制台中可能如下所示:
command: message Result for Adam!
然后消息命令(亚当的结果!)后面的短语将显示在一个框架中。但是我有的代码我喜欢这样:
command: message
Result for Adam!
我必须在消息命令后按 Enter 键才能在新行中编写短语,然后消息显示在框架中。如何控制开关语句中的换行符?
switch (command)
{
case "add event":
break;
case "add participant":
break;
case "add result":
break;
case "message":
framedText.showMessage();
break;
case "exit":
System.exit(0);
default:
System.out.println("Wrong (type of) command. Try again.");
}
.
.
.
import java.util.Scanner;
public class MessageFramer {
private Scanner scan = new Scanner(System.in);
public void showMessage() {
String message = scan.nextLine();
}
在将 scanner 对象分配给字符串时,您使用了错误的方法。
而不是:
public void showMessage() {
String message = scan.nextLine();
}
尝试:
public void showMessage() {
String message = scan.next();
}
对于nextLine()
方法是输出中换行的原因之一。
相应地,对于print()
和println()
方法也是如此。
编辑:如果没有回车键提交用户输入以在换行符上显示结果,建议的机制是回车:"r"
。返回到上述用户输入的行。