由于我的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();
}
请帮忙。 Madiya
答案 0 :(得分:11)
我不确定你的目的是什么,但这是你在循环中的问题
t == 5
它应该像
for(int t = 1; t <= 5; t = t+1) {
t
永远不会在这里5,所以它永远不会迭代。此外,您可以简化最后一部分,使其看起来像
for(int t = 1; t <= 5; t++) {
for(初始化;终止; 增量) { 声明(S) }
现在看一下终止表达的内容
当终止表达式的计算结果为false时,循环终止。
终止表达式从一开始就是false
,意味着它不会运行。
答案 1 :(得分:2)
您的代码不会迭代。条件:t == 5
只会扰乱整个迭代。它应该类似于t <= 5
或t < 5
。
答案 2 :(得分:1)
for循环的结构是(initialization, condition, afterthought)
。您已将变量初始化为等于1:t=1
条件参数指出for循环何时运行,并且从t=1
起,它不满足t==5
条件,因此它不运行。
让你的for循环迭代五次,你会做t <= 5
答案 3 :(得分:0)
for循环有三件事你需要关注:
在你的for循环中:
for(int t = 1; t == 5; t = t+1) {
pp();
}
您已正确声明并初始化整数变量t
。此外,增量声明可能根据您的要求而为真。问题在于条件。您已指定在for
等于5时运行t
循环。但最初,您已将t
设置为1
。因此,在检查t是否等于5之后,控件不会在for
循环内输入代码。这就是它没有执行的原因。
解决方案可能是:
for(int t = 1; t <= 5; t = t+1) {
pp();
}