【发布时间】:2016-03-20 19:28:49
【问题描述】:
简单解释一下,我应该让用户输入 消息的接收者,然后让他们进入消息正文,这可以 有多条线路。如果他们输入一个空行,则消息正文结束并且 他们可以在开关中选择另一个案例。
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(),但唯一发生的另一件事是消息正文永远存在。
我还尝试对recip 和mbody 使用两个不同的Scanner 对象,但也没有运气。
【问题讨论】:
标签: java while-loop switch-statement blank-line