1

私は3つのテキストボックスを持っています。1 つのテキスト ボックスには、いくつかの整数が含まれています。次の反復に進む前に、テキストボックスをクリアしています。2回繰り返した後、テキストボックスを編集可能に偽にしたいと思います。しかし、問題はループが2回繰り返されることですが、テキストボックスの値は最初の繰り返しでのみ出力されます。次のコードを書きました

int i=1;
do
{
System.out.println(ext_people_name.getText());
System.out.println(ext_contact_num.getText());
System.out.println(i);
ext_people_name.setText("");
ext_contact_num.setText("");
i++;
if(i>nop1)
{
ext_people_name.setEditable(false); 
ext_contact_num.setEditable(false); 
break;
}
}while(i<=nop1); 

私が今得ている出力は

neha
8798
1
2

誰でもこれに代わるものを教えてもらえますか、助けてください

4

4 に答える 4

3
I am clearing the textbox before going to the next iteration

そこで、あなたは自分の問題を解決しました!

于 2012-05-18T05:03:57.993 に答える
0

各反復後にテキストボックスの値をクリアします。これにより、値が空になり、何も出力されません。

System.out.println("some   "+ext_people_name.getText()); 
System.out.println("some   "+ext_contact_num.getText());

上記のコードを使用すると、反復後に結果を上書きしていることに気付く可能性があります

于 2012-05-18T05:09:21.407 に答える
0

コードでは do/while の代わりに for ループを使用することをお勧めします。次のようにコードをリファクタリングします。

for (int i=1; i<=nop1; i++) {
   System.out.println(ext_people_name.getText());
   System.out.println(ext_contact_num.getText());
   System.out.println(i);
   ext_people_name.setText("");
   ext_contact_num.setText("");
};

ext_people_name.setEditable(false); 
ext_contact_num.setEditable(false); 
于 2012-05-18T05:05:15.720 に答える
0

あなたは自分で答えを出しました-次の反復の前にテキストボックスをクリアします。したがって、値が含まれていないため、値は出力されません。

あなたがしなければならないことは、あなたがしていることを再設計し、それをより小さなステップに分割することです. 1 つのループですべてを実行しようとするのではなく、小さなループに分割します。

また、正確に何をしたいのかよくわかりません。次の繰り返しの前にテキストボックスがクリアされるのはなぜですか?

テキスト ボックスの値を 2 回だけ表示し、それらをクリアして編集不可にする場合は、別の手順で行います。

または、元の質問を編集して、よりよく理解できるコンテキストを追加してください。

于 2012-05-18T05:06:55.033 に答える