ソケットを使用して、Java でサーバー クライアント プログラムに取り組んでいます。
ユーザーに一連の整数を入力して に追加し、ArrayList
を使用してオブジェクトとしてサーバーに送信するように依頼しますObjectOutputStream
。その後、サーバーはオブジェクトを受け取ります。
オブジェクトを として解析しArrayList
、メソッドを使用して整数の最大数を計算し、それを文字列としてクライアントに返します。
BufferedReader
ユーザー入力に使用しています
ある意味で、私が必要としているのは、次の方法に関するロジックです。
ユーザーの入力を確認するには、それが " Ok
" でない場合、または を押します。Enter
ユーザーは、スペースで区切られた数字を追加できる必要があります。
Enter キーを押すと、ループが終了し、配列に数値が追加されます。
私はこれまでに持っています:
BufferedReader integers = new BufferedReader(new InputStreamReader(System.in));
// send int 1, for the Max number option
pw.println(option);
System.out.println(br.readLine());
String x = integers.readLine();
if(integers!=null){
readInt(integers);
}
objectOut = new ObjectOutputStream(client.getOutputStream());
objectOut.writeObject(maxNum);
objectOut.flush();
System.out.println(br.readLine());
objectOut.close();
break;
readIn メソッド:
public static int readInt(BufferedReader stdIn) {
while (true) {
try {
String line = stdIn.readLine();
int value = Integer.parseInt(line);
return value;
} catch (java.lang.NumberFormatException e) {
;
} catch (IOException e) {
;
}
}
}