Java 为什么我的程序会跳过if语句
我有一个tcp/ip程序,如果用户输入“再见”。它将停止连接,并结束程序。然而,当我键入“再见”时。从客户端来看,它不会执行if语句,而是执行另一个语句 节目的一部分Java 为什么我的程序会跳过if语句,java,logic,tcpserver,Java,Logic,Tcpserver,我有一个tcp/ip程序,如果用户输入“再见”。它将停止连接,并结束程序。然而,当我键入“再见”时。从客户端来看,它不会执行if语句,而是执行另一个语句 节目的一部分 while ((inputLine = in.readLine()) != null) { System.out.println ("Server: " + inputLine); out.println(inputLine); String csvline = getCsvLine
while ((inputLine = in.readLine()) != null)
{
System.out.println ("Server: " + inputLine);
out.println(inputLine);
String csvline = getCsvLineVal (getLocation34CSV(getTag34Value(Tag34Location(getTagCSV( parseFixMsg(inputLine ,inputLine))), getValueCSV( parseFixMsg(inputLine ,inputLine))), getVal34(input1, input2)), getCSVLine( input3, input4) );
compareClientFixCSV( getTagCSV( parseFixMsg(inputLine ,inputLine)), getValueCSV(parseFixMsg(inputLine ,inputLine)), getCSVTag(csvline), getCSVValue(csvline));
if (inputLine.equals("Bye.")) {
System.out.println("Exit program");
break;
}
out.close();
in.close();
clientSocket.close();
serverSocket.close();
}
public static void server(Scanner input1, Scanner input2, Scanner input3, Scanner input4) throws IOException{
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(57634);
}
catch (IOException e)
{
System.err.println("Could not listen on port: 57635.");
System.exit(1);
}
Socket clientSocket = null;
System.out.println ("Waiting for connection.....");
try {
clientSocket = serverSocket.accept();
}
catch (IOException e)
{
System.err.println("Accept failed.");
System.exit(1);
}
System.out.println ("Connection successful");
System.out.println ("Waiting for input.....");
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),
true);
BufferedReader in = new BufferedReader(
new InputStreamReader( clientSocket.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
{
System.out.println ("Server: " + inputLine);
out.println(inputLine);
String csvline = getCsvLineVal (getLocation34CSV(getTag34Value(Tag34Location(getTagCSV( parseFixMsg(inputLine ,inputLine))), getValueCSV( parseFixMsg(inputLine ,inputLine))), getVal34(input1, input2)), getCSVLine( input3, input4) );
compareClientFixCSV( getTagCSV( parseFixMsg(inputLine ,inputLine)), getValueCSV(parseFixMsg(inputLine ,inputLine)), getCSVTag(csvline), getCSVValue(csvline));
if (inputLine.equals("Bye.")) {
System.out.println("Exit program");
break;
}
out.close();
in.close();
clientSocket.close();
serverSocket.close();
}
}
计划的大部分
while ((inputLine = in.readLine()) != null)
{
System.out.println ("Server: " + inputLine);
out.println(inputLine);
String csvline = getCsvLineVal (getLocation34CSV(getTag34Value(Tag34Location(getTagCSV( parseFixMsg(inputLine ,inputLine))), getValueCSV( parseFixMsg(inputLine ,inputLine))), getVal34(input1, input2)), getCSVLine( input3, input4) );
compareClientFixCSV( getTagCSV( parseFixMsg(inputLine ,inputLine)), getValueCSV(parseFixMsg(inputLine ,inputLine)), getCSVTag(csvline), getCSVValue(csvline));
if (inputLine.equals("Bye.")) {
System.out.println("Exit program");
break;
}
out.close();
in.close();
clientSocket.close();
serverSocket.close();
}
public static void server(Scanner input1, Scanner input2, Scanner input3, Scanner input4) throws IOException{
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(57634);
}
catch (IOException e)
{
System.err.println("Could not listen on port: 57635.");
System.exit(1);
}
Socket clientSocket = null;
System.out.println ("Waiting for connection.....");
try {
clientSocket = serverSocket.accept();
}
catch (IOException e)
{
System.err.println("Accept failed.");
System.exit(1);
}
System.out.println ("Connection successful");
System.out.println ("Waiting for input.....");
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),
true);
BufferedReader in = new BufferedReader(
new InputStreamReader( clientSocket.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
{
System.out.println ("Server: " + inputLine);
out.println(inputLine);
String csvline = getCsvLineVal (getLocation34CSV(getTag34Value(Tag34Location(getTagCSV( parseFixMsg(inputLine ,inputLine))), getValueCSV( parseFixMsg(inputLine ,inputLine))), getVal34(input1, input2)), getCSVLine( input3, input4) );
compareClientFixCSV( getTagCSV( parseFixMsg(inputLine ,inputLine)), getValueCSV(parseFixMsg(inputLine ,inputLine)), getCSVTag(csvline), getCSVValue(csvline));
if (inputLine.equals("Bye.")) {
System.out.println("Exit program");
break;
}
out.close();
in.close();
clientSocket.close();
serverSocket.close();
}
}
如果用户键入Bye,则从代码中选择。它将中断while循环,但不会关闭输入/输出流,也不会关闭客户端/服务器套接字
out.close();
in.close();
clientSocket.close();
serverSocket.close();
上面的代码发生在if语句之后的while循环中。但是,如果if语句为true,则循环中断,无法到达这些语句 如果用户键入Bye,则从代码中选择。它将中断while循环,但不会关闭输入/输出流,也不会关闭客户端/服务器套接字
out.close();
in.close();
clientSocket.close();
serverSocket.close();
上面的代码发生在if语句之后的while循环中。但是,如果if语句为true,则循环中断,无法到达这些语句 如果希望同时拥有多个客户端,则可能需要在新线程中处理每个客户端。如果希望同时拥有多个客户端,则可能需要在新线程中处理每个客户端。while循环中的中断正在退出循环。它应该是这样的,否则你的近处不会被清理干净
while ((inputLine = in.readLine()) != null)
{
System.out.println ("Server: " + inputLine);
out.println(inputLine);
String csvline = getCsvLineVal (getLocation34CSV(getTag34Value(Tag34Location(getTagCSV( parseFixMsg(inputLine ,inputLine))), getValueCSV( parseFixMsg(inputLine ,inputLine))), getVal34(input1, input2)), getCSVLine( input3, input4) );
compareClientFixCSV( getTagCSV( parseFixMsg(inputLine ,inputLine)), getValueCSV(parseFixMsg(inputLine ,inputLine)), getCSVTag(csvline), getCSVValue(csvline));
if (inputLine.equals("Bye.")) {
System.out.println("Exit program");
break;
}
}
out.close();
in.close();
clientSocket.close();
serverSocket.close();
while循环中的中断正在退出循环。它应该是这样的,否则你的近处不会被清理干净
while ((inputLine = in.readLine()) != null)
{
System.out.println ("Server: " + inputLine);
out.println(inputLine);
String csvline = getCsvLineVal (getLocation34CSV(getTag34Value(Tag34Location(getTagCSV( parseFixMsg(inputLine ,inputLine))), getValueCSV( parseFixMsg(inputLine ,inputLine))), getVal34(input1, input2)), getCSVLine( input3, input4) );
compareClientFixCSV( getTagCSV( parseFixMsg(inputLine ,inputLine)), getValueCSV(parseFixMsg(inputLine ,inputLine)), getCSVTag(csvline), getCSVValue(csvline));
if (inputLine.equals("Bye.")) {
System.out.println("Exit program");
break;
}
}
out.close();
in.close();
clientSocket.close();
serverSocket.close();
尝试输入line.trim.equalsBye。;看看这种情况是否仍然存在。请尝试inputLine.trim.equalsBye。;看看这种情况是否仍然存在。