0
int a=25: 
for (double i=1;i<=a;i++) 
{
    int b=5*i; 
    boolean value= b==a; 
    System.out.println(value);
 }

此方法在 i=5 时为真,否则为假。所以值可以在 i=5 时为真,但我的程序会为我打印:假-假-假-假-真-假-假-假...我怎样才能让这个程序为我只打印真。PS:我知道 false 或 false 或 TRUE 或 false = True .. 但我如何在 for 循环中使用它?

4

4 回答 4

4

也许这个?

int a=25; 
for (double i=1;i<=a;i++) { 
    int b = 5 * (int)i;  // you must cast "i" in order for this to compile 
    boolean value = b == a;  // you probably wanted "b == a" not "b == i" 
    if (value)
        System.out.println("true");
}

"true"即我们仅在valueis时打印true


value要在变为时停止循环true,我们可以使用以下break语句:

int a=25; 
for (double i=1;i<=a;i++) { 
    int b = 5 * (int)i;
    boolean value = b == a; 
    if (value) {
        System.out.println("true");
        break;
    }
}
于 2012-10-10T00:21:54.570 回答
1

像这样:

int a=25,b: 
boolean value;
for (double i=1;i<=a;i++) { 
    b=5*i; 
    value = (b==i); 
    if (value) {
        System.out.println(value);
    }
}

也永远不要担心在循环体内声明变量,因为它们在每次迭代中都会重新声明——这是不好的做法。

编辑:大声笑,这段代码总是打印错误,因为它不能打印真实

 b=5*i;

并且 5*i 永远不等于 i

编辑^2:

正如 CodeGuru 建议的那样,使用 a==i 它只打印一次 true :

int a=25,b;
boolean value;
for (double i=1;i<=a;i++)     {
    b=5*(int)i; 
    value= i==a; 
    if (value) {
        System.out.println(value);
    }
}
于 2012-10-10T00:23:22.337 回答
0

一种方法类似于添加数字列表。您需要一个累加器,它是一个保存迄今为止结果的变量。在循环之前声明:

boolean value = false;

现在在循环内部,使用|=运算符:

value |= (b == i);

然而,这似乎是一个丑陋的解决方案。true当你找到它时,你将如何处理它?

于 2012-10-10T00:23:26.260 回答
0
      int a = 25;
    for (double i = 1; i <= a; i++) {
        double b = 5 * i;
        if (b == a) {
            boolean value = b == a;
            System.out.println(value);
        }
    }

这将起作用

于 2020-06-03T09:12:34.233 回答