Как напечатать указанные c числа из a для l oop, используя Kotlin - PullRequest
1 голос
/ 03 марта 2020

Так что я довольно новичок в Kotlin, и мне нужно сгенерировать определенные c числа из a для l oop от 1 до 13.

Для первого вывода мне нужны только нечетные числа

Для второго вывода мне нужны числа 2, 5, 8, 11, 14, 19 и 20 от a для l oop от 0 до 20

Для начала я могу напечатать весь список используя:

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    for (i in 1..13){

        println(i)
    }


}
}

Но это все. Что мне нужно для распечатки других необходимых выходов?

Ответы [ 3 ]

1 голос
/ 03 марта 2020

Когда вы знаете, как написать for l oop, который печатает каждое число, возникает вопрос, как определить число, которое вы «должны» напечатать из числа, которое вы не должны.

Ваша первая последовательность - все нечетные числа, так что ответ @ DipankarBaghel покрывает это. Кажется, ваша вторая последовательность - это все числа, для которых остаток при делении на 3 равен 2. (За исключением 19; вы имели в виду 17 для этого?)

В этом случае вы можете использовать тот же оператор, но вместо проверяя для 0 (или для != 0), вы можете проверить, что остаток равен 2:

for (i in 0..20) {
    if (i % 3 == 2) {
        println(i)
    }
}

Ключевой концепцией здесь является то, что %, оператор остатка (иногда называемый оператором по модулю ). Результатом x % y будет остаток, когда x делится на y. Нечетные числа имеют остаток 1 при делении на 2, поэтому i % 2 == 1 будет истинным только для (положительных) нечетных чисел.

0 голосов
/ 03 марта 2020

Для генерации Нечетных чисел:

for (i in 1..13) {
    if(i % 2 == 1 ){
        println(i + ", ");
    }
}

Для генерации 2, 5, 8, 11, 14, 19 и 20:

for (i in 0..20) {
    if (i % 3 == 2) {
        println(i + ", ");
    }
}
0 голосов
/ 03 марта 2020

Чтобы проверить четность, вам нужно сделать i%2==0, а для нечетного просто проверить i%2!=0.

for (i in 1..13){

        if(i%2!=0){
            println("odd number "+i);
        }
        if(i%2==0){
            println("even number "+i);
        }
    }

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...