一个接一个地分配真值或假值

时间:2013-05-10 12:54:44

标签: java

我从我的任务中得到了一个问题,我找不到解决方案..

此数组声明12个变量..

boolean[] rowOfRotatoes = new boolean[12];

现在我必须一个接一个地分配真值和假值,

rowOfRotatoes[0] = true;
rowOfRotatoes[1] = false;
rowOfRotatoes[2] = true;
rowOfRotatoes[3] = false;
rowOfRotatoes[4] = true;
....
rowOfRotatoes[9] = true;
rowOfRotatoes[10] = false;
rowOfRotatoes[11] = true;

但我必须使用循环来做到这一点!

他们给了我一个填空的结构..

int plantingSpace = 0;
while(plantingSpace < 12) {

   rowOfRotatoes[plantingSpace] = <Fill this space 1> <Fill this space 2> <Fill this space 3> == 0;

   ++plantingSpace;
}

如何使用上述结构一个接一个地分配true和false值?

6 个答案:

答案 0 :(得分:4)

根据您的要求严格填写空格:

int plantingSpace = 0;
while (plantingSpace < 12) {  
   rowOfRotatoes[plantingSpace] = plantingSpace % 2 == 0;   
   ++plantingSpace;
}

答案 1 :(得分:2)

您可以使用模运算符%来执行此操作,方法是检查索引是否为偶数。这将导致作业的右侧在truefalse之间交替。

int plantingSpace = 0;
while(plantingSpace < 12) {
    rowOfRotatoes[plantingSpace] = plantingSpace % 2 == 0;
    ++plantingSpace;
}

答案 2 :(得分:1)

您只需使用切换布尔变量:

boolean[] rowOfRotatoes = new boolean[12];
int plantingSpace = 0;
boolean toggler = true;

while (plantingSpace < rowOfRotatoes.length) {
    rowOfRotatoes[plantingSpace++] = toggler;
    toggler = !toggler;
}

表示您可以通过更改变量的初始值来更改 true / false 条目的顺序。

答案 3 :(得分:0)

检查plantingSpace每个循环是偶数还是奇数,并相应地设置你的布尔值true / false。

答案 4 :(得分:0)

容易的孩子......这样做

        Boolean rowOfRotatoes[]=new Boolean[13];
        int plantingSpace = 0;
        while(plantingSpace < 12) 
        {
           boolean value= (plantingSpace %2==0)?true:false; 
           rowOfRotatoes[plantingSpace] = value;

           ++plantingSpace;
        }

这里我使用了三元运算符,它检查条件然后根据它返回false或true,然后它进入值。

  

(种植空间%2 == 0)?true:false

答案 5 :(得分:0)

这是一个解决方案,从数组的第一个元素开始,以true作为值:

int plantingSpace = 0;
while(plantingSpace < 12) {
   rowOfRotatoes[plantingSpace] = (plantingSpace % 2 == 0);
   ++plantingSpace;
}

<强>解释

表达式(plantingSpace % 2 == 0)检查plantingSpace除以2(= modulo)的余数是否等于零。

如果是(意味着plantingSpace是偶数),则数组中的相应值将设置为true
如果不是(意味着plantingSpace不均匀),则相应的值将设置为false