-9

for ループが実行されないため、問題に直面しています。これが私のコードです:

public void sendSMS(){

    for(int t = 1; t == 5; t = t+1) {
        pp();   
    }
}

public void pp() {


    SmsManager smsManager = SmsManager.getDefault();

     phoneNo = "01234567890";
     message ="Sample msg from app";
     Toast.makeText(getApplicationContext(), "testing done", Toast.LENGTH_LONG).show();

     smsManager.sendTextMessage(phoneNo, null, message, null, null);
     Toast.makeText(getApplicationContext(), "dummy Message dumped!", 
                    Toast.LENGTH_LONG).show();


}

助けてください。マディヤ

4

4 に答える 4

11

あなたが何をしようとしているのか正確にはわかりませんが、これはあなたのループの問題です

t == 5

それは次のようなものでなければなりません

for(int t = 1; t <= 5; t = t+1) {

tここでは 5 になることはないため、繰り返されることはありません。また、最後の部分を単純化して、次のようにすることもできます

for(int t = 1; t <= 5; t++) {

Java docs を見ると、for loop

for (初期化; 終了; インクリメント) { ステートメント }

終了式の内容を見てください

終了式が false と評価されると、ループは終了します。

終了式はfalse最初から実行されないことを意味します。

于 2013-10-03T14:39:30.477 に答える
1

for ループの構造は for(initialization, condition, afterthought)です。変数を 1 に初期化しましt=1 た。条件パラメーターは、for ループがいつ実行されるかを示しておりt=1、それ以降、条件を満たさないためt==5実行されません。

for ループを 5 回繰り返すには、次のようにします。t <= 5

于 2013-10-03T14:47:34.407 に答える
0

for ループには、次の 3 つの点に注意する必要があります。

  1. 初期化
  2. 調子
  3. 変数の値の変更 (インクリメント、デクリメント、乗算...)

あなたのforループで:

for(int t = 1; t == 5; t = t+1) {
    pp();   
}

整数変数を正しく宣言して初期化しましたt。また、増分ステートメントは、要件に応じて true になる場合があります。問題は条件にあります。が5 に等しいときにforループを実行するように指定しましたが、最初は に設定しています。したがって、コントロールは、t が 5 に等しいかどうかを確認した後、ループ内のコードに入りません。それが実行されていない理由です。tt1for

解決策は次のとおりです。

for(int t = 1; t <= 5; t = t+1) {
    pp();
}
于 2013-10-03T14:50:16.467 に答える