简单解释一下,我应该让用户输入消息收件人的姓名,然后让他们输入消息正文,正文可以有多行。如果他们输入一个空行,则消息正文结束,他们可以在切换中选择另一种情况。
case 'S':
case 's':
if(user.equals(" ")) {
System.out.println("No user logged in.");
} else {
System.out.println("Recipient: ");
recip = menuScan.next();
m = new Message(user,recip);
System.out.println("Enter message. Blank line to quit.");
mbody = menuScan.nextLine();
while(!mbody.equals("")) {
mbody = menuScan.next();
m.append(mbody);
}
ms.deliver(m);
System.out.println("Messgae sent.");
}
break;
但就像现在一样,while 循环被完全跳过了。我尝试过更改recip
为menuScan.nextLine()
,和mbody
,但唯一发生的另一件事是消息正文永远存在。menuScan.next()
.nextLine()
我也尝试过对 and 使用两个不同的 Scanner 对象recip
,mbody
但也没有运气。