int a=25:
for (double i=1;i<=a;i++)
{
int b=5*i;
boolean value= b==a;
System.out.println(value);
}
当i = 5时,此方法为true,否则为false。因此,当i = 5时,该值可以为true,但我的程序将为我打印:false-false-false-false-TRUE-false-false-false ...如何让这个程序为我打印为TRUE。 PS:我知道假或假或TRUE或false = True ..但我如何在for循环中使用它?
答案 0 :(得分: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"
为value
时才打印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;
}
}
答案 1 :(得分: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);
}
}
也从不在循环体内声明变量,因为它们在每次迭代中都被重新声明 - 这是不好的实践。
编辑: LoL,此代码始终打印为false,因为
,它无法打印 b=5*i;
和5 * i永远不等于i
EDIT ^ 2:
正如CodeGuru建议的那样,使用== i,它只打印一次真实:
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);
}
}
答案 2 :(得分:0)
执行此操作的一种方法类似于添加数字列表。你需要一个累加器,它是一个保存结果的变量。在循环之前声明这个:
boolean value = false;
现在在循环内部,使用|=
运算符:
value |= (b == i);
然而,这似乎是一个丑陋的解决方案。当您找到true
值时,您打算做什么?
答案 3 :(得分: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);
}
}
这将起作用