Может кто-нибудь объяснить, пожалуйста? - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть три кода Java, которые включают печать различных наборов чисел с использованием циклов for.Они работают, однако я буквально понятия не имею, почему они работают.Может ли кто-нибудь помочь, пожалуйста?

Первый (ниже, Main1) печатает числа от 23 до 89 с 10 числами в каждой строке и одним пробелом между ними.

import java.util.Scanner;
import java.lang.Math; 

class Main1 {
    public static void main(String[] args)
     {
  for (int i = 23; i < 90; ++i) {
            System.out.print(i);
            char c;
            if (i % 10 == 2) { c = '\n'; } 
            else { c = ' '; }
            System.out.print(c);
    }
  }
}

Во втором (ниже Main2) пользователь вводит целое число от нуля до ста с двадцатью числами в строке.Если число не от нуля до ста, выводится «ошибка».

import java.util.Scanner;
import java.lang.Math; 

class Main2 {
    public static void main(String[] args)
     {
 Scanner scan = new Scanner(System.in);
  System.out.println("Enter a number between 0 and 100:");
  int x = scan.nextInt();
  if(x > 0 || x < 100){
  for(int a = x; a < 101; a++){
    System.out.println(a);
  }
 }
 if(x < 0 || x > 100)System.out.println("error");
}

}

А третий (опять же ниже, класс Main3) печатает только четные числа от одного до пятидесяти с одним в каждой строке.

import java.util.Scanner;
import java.lang.Math; 

class Main3 {
    public static void main(String[] args)
     {
    for(int i = 2; i <= 50; i++)
    {
    if (i%2 == 0)
      System.out.println(i);

    }
    }
}

Все эти операции предполагаютсяк, я просто не уверен, как .Спасибо!

1 Ответ

0 голосов
/ 28 ноября 2018

В вашем первом Java-коде

это печатает числа от 23 до 33

   for (int i = 23; i < 90; ++i) {
                System.out.print(i);

, пока не будет выполнено условие

if (i % 10 == 2) { 
c = '\n'; 
} 
else { 
c = ' ';
 }
System.out.print(c);

, если i имеет делимоена 10 и имеет остаток от двух, тогда значение c будет \ n, иначе c будет иметь значение, если "".

Во втором коде,

, вы введете число между1 и 100, тогда код

if(x > 0 || x < 100)

проверит, находится ли число между 0 и 100, тогда, если условие истинно, у него будет цикл

for(int a = x; a < 101; a++){
    System.out.println(a);
  }

, этот цикл будетпечатайте, начиная с числа, которое вы ввели, до 100. И затем этот код,

if(x < 0 || x > 100)System.out.println("error");

, проверит, ввели ли вы число от 0 и ниже и до 100 и выше;

ваштретий код, это для цикла

for(int i = 2; i <= 50; i++)

будет цикл от 2 до 50

, но у вас есть условие

if (i%2 == 0)
      System.out.println(i);

    }

это означает, что из i делитсячерез два он напечатает I.

Надеюсь, вы поняли все мои объяснения.

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