0

プログラムで、特定のメニューを押したときにオプションを入力できないという問題が発生しています。メニューは、事前に選択されたオプションを含むプロンプトのように見えます。ここでは、オプションを上書きして変更できます。これは次のようになります。 ここに画像の説明を入力

ご覧のとおり、すでに 3 が選択されています。上書きして別のオプションを入力したいだけです。単純にオプションを書き込んで、system.out.println を実行したときにシェルが提供するものを出力しようとすると、次のようになります。

set encryption home
Wireless Encryption Type:[0] quit, [1] OPEN, [2] WEP, or [3] WPA
Wireless Encryption Type: 31

単純にオプション 3 を実行し、「1」を無視して、送信したコマンドにある「\r\n」を読み取ります (これは「1\r\n」でした)。間には、ここでは表されていない文字 0x08 があります。プログラムにデフォルトのオプションを上書きさせるにはどうすればよいですか?

私が試したこと: \n\r セミコロンを試してみました。\n\r コマンドの前に \r 省略して \r\n (これにより、プログラムは何も入力しないため、ワイヤレス暗号化タイプを通過できなくなります)。これで次に何をすべきかわかりません。何か案は?

ps: nilbotによって提案されているように、すべてのコマンドを入力するために pipedinput を使用しています

4

1 に答える 1

0

問題が見つかり、シェルは /n/r を気に入らず、それぞれを入力としてカウントしました。/rまたは/nのいずれかを削除すると機能します。現在、私は /n に持っています。これが誰かの役に立てば幸いです。

于 2013-08-01T14:24:26.643 に答える