-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 文档for loop

for(初始化;终止;增量){语句}

现在看看它对终止表达式的含义

当终止表达式的计算结果为 false 时,循环终止。

终止表达式false从一开始就意味着它不会运行。

于 2013-10-03T14:39:30.477 回答
2

您的代码不会迭代。条件:t == 5只是把整个迭代搞砸了。它应该类似于t <= 5t < 5

于 2013-10-03T14:45:29.787 回答
1

for 循环的结构是 for (initialization, condition, afterthought)。您已将变量初始化为等于 1 :t=1 条件参数说明 for 循环何时运行,因为t=1它不满足t==5条件,因此它不会运行。

让你的 for 循环迭代五次,你会做t <= 5

于 2013-10-03T14:47:34.407 回答
0

for 循环需要注意三件事:

  1. 初始化
  2. 健康)状况
  3. 更改变量的值(增量、减量、乘...)

在你的 for 循环中:

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

您正确地声明并初始化了一个整数变量t。此外,根据您的要求,增量语句可能为真。问题在于条件。您已指定for循环应在t等于 5 时运行。但最初,您已设置t1. 因此,控件在检查 t 是否等于 5 后,不会进入for循环内的代码。这就是它没有执行的原因。

解决方案可能是:

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