我有一个程序基本上返回一个字符串,该字符串有时可能是一行(工作正常),但有时它可能是多行,这会导致我出现问题。基本上我让用户选择一个发送到第二个程序的选项,并根据该选项返回一个特定的字符串。但是,如果我将用户选择放在我的循环之外,如果返回的字符串是多行,它工作正常,但我需要它不断提示用户选项菜单,直到他们选择退出。这是代码:
System.out.print("Enter your choice: ");
fromClient = stdIn.readLine().trim();
while ((fromServer = input.readLine()) != null)
{
System.out.println("Server: " + fromServer);
if (fromServer.equals("Bye"))
break;
if(fromClient.equals("1"))
{
System.out.println("Client: " + fromClient);
output.println(fromClient);
}
if(fromClient.equals("2"))
{
System.out.println("Client: " + fromClient);
output.println(fromClient);
}
if(fromClient.equals("3"))
{
System.out.println("Client: " + fromClient);
output.println(fromClient);
}
if(fromClient.equals("4"))
{
System.out.println("Client: " + fromClient);
output.println(fromClient);
break;
}
}
正如我上面提到的,这很好地返回了多行字符串,但它不再提示用户选择选项。如果我在循环内移动用户选择并返回多行字符串,它将打印一行,询问用户他们的选择,打印第二行,询问用户他们的选择,打印第三行,询问用户他们的选择......