質問文が意味をなさないかもしれないが、私はそれをどのように動作させるか分からなかった。私はこのコードを持っている場合はユーザーが入力した変数を、最大値を知らずにswitchステートメント
::私は例をお見せしましょう
Socket socket = new Socket(IP_ADDRESS, PORT_NUMBER);
for (int i = 0; i < someUpperLimit; i++) {
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
switch(i) {
case 1:
out.write("2,3,4");
case 2:
out.write("1,3,4");
case 3:
out.write("1,2,4");
case 4:
out.write("1,2,3");
...
}
}
私が午前問題はsomeUpperLimit
の値はユーザが入力した値は、コマンドラインを形成し、私にはわからないということですそれは私がforループに入っているときの価値です。だからswitch文では、私が書く必要があるケースがいくつあるか分かりません。
それぞれのケースステートメントでは、ケースステートメントにない値を相手のサーバーソケットに送信したいとします。したがって、ケースの値が1
の場合、私は2,3,4
を送信したいと思います。私はこのケースで必要なケースステートメントがどれくらいかわからないので、これを行う別の方法がありますか?
などの値に相当し、どの値をサーバーに送信する必要がありますか? 1からupperLimitまで? – stinepike
@StinePikeはいケースが「1」の場合は、「2 to someUpperLimit」を送信します。ケースが '2'の場合、' 1、3 - someUpperLimit'を除いて2を返します。 – CapturedTree
すべてのケースがわからない場合、 'switch'ステートメントを使用することはできません。 'if'文で2番目の' for'ループを使います。 –