Назначать истинное или ложное значение один за другим
1 Michael Gamage [2013-05-10 15:54:00]
У меня вопрос из моего задания, я не могу найти решение для этого.
Этот массив объявляет 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 один за другим?
java
6 ответов
4 Решение flavian [2013-05-10 15:56:00]
Чтобы строго заполнить пробелы по вашему требованию:
int plantingSpace = 0;
while (plantingSpace < 12) {
rowOfRotatoes[plantingSpace] = plantingSpace % 2 == 0;
++plantingSpace;
}
2 Keppil [2013-05-10 15:56:00]
Вы можете использовать modulo operator % для этого, проверяя, является ли индекс четным. Это приведет к тому, что правая часть задания будет чередоваться между true и false.
int plantingSpace = 0;
while(plantingSpace < 12) {
rowOfRotatoes[plantingSpace] = plantingSpace % 2 == 0;
++plantingSpace;
}
1 Juvanis [2013-05-10 16:04:00]
Вы можете просто использовать переключая логическую переменный:
boolean[] rowOfRotatoes = new boolean[12];
int plantingSpace = 0;
boolean toggler = true;
while (plantingSpace < rowOfRotatoes.length) {
rowOfRotatoes[plantingSpace++] = toggler;
toggler = !toggler;
}
Обозначим, что вы можете изменить порядок значений true/false, изменив начальное значение переменной.
0 Pieter VDE [2013-05-10 16:07:00]
Здесь решение, начиная с первого элемента массива, имеющего значение true:
int plantingSpace = 0;
while(plantingSpace < 12) {
rowOfRotatoes[plantingSpace] = (plantingSpace % 2 == 0);
++plantingSpace;
}
Объяснение:
Выражение (plantingSpace % 2 == 0) проверяет, равна ли нулю остатка деления plantingSpace на 2 (= modulo).
Если это (означает, что plantingSpace равно), соответствующее значение в массиве будет установлено в true.
Если это не так (означает, что plantingSpace неравномерно), соответствующее значение будет установлено на false.
0 anshulkatta [2013-05-10 16:02:00]
легкий парень... сделайте так
Boolean rowOfRotatoes[]=new Boolean[13];
int plantingSpace = 0;
while(plantingSpace < 12)
{
boolean value= (plantingSpace %2==0)?true:false;
rowOfRotatoes[plantingSpace] = value;
++plantingSpace;
}
Здесь я использовал тернарный оператор, который проверяет условие, а затем в соответствии с ним он возвращает false или true, затем он получает значение.
(plantingSpace% 2 == 0)? true: false
0 jschabs [2013-05-10 15:56:00]
Проверьте, является ли plantingSpace четным или нечетным каждый цикл и соответствующим образом задайте логическое значение true/false.