在我的客户端 - 服务器程序中,客户端应该能够发送string
和int
值。只有当string
时,服务器才会接受并执行相应的操作。否则,如果它是int
,则服务器无法处理它(或者不执行任何操作)。如何在if
语句中实现此逻辑。
我尝试使用类似的东西,但hasNextInt()
方法显示错误:
if(!incomingInput.hasNextInt){
//do nothing
}
这是我工作的部分:
if (msgFromClient != null && !msgFromClient.hasNextInt()) {
OutputStream clientOut = client.getOutputStream();
PrintWriter pw = new PrintWriter(clientOut, true);
String ansMsg = "Hello, " + msgFromClient;
pw.println(ansMsg);
}
答案 0 :(得分:0)
根据您发布的代码,您似乎只是从流中获取值并将其解析为字符串。如果你把它作为字符串,你可以打电话
Integer.parseInt(ansMsg);
如果值不是整数,则会抛出NumberFormatException。此时,您可以根据需要处理异常(无所事事)。您需要使用try catch
声明,但这只是一种方法。
答案 1 :(得分:0)
try{
int num = Integer.parseInt(str);
//if int
} catch (NumberFormatException e) {
return; //Do nothing.
}