Как создать цикл int, который начинается с 1 и заканчивается 0 (1,2,3,4,5,6,7,8,9,0)

Моя проблема заключается в использовании вложенных циклов для создания этого вывода:

         |         |         |         |         |         |
123456789012345678901234567890123456789012345678901234567890

Я не могу найти лучший способ заменить int 10 на 0. Я пробовал несколько способов, но они бесполезны и не кажутся мне правдой. Надеюсь, моя проблема очевидна, ее трудно объяснить. Может ли кто-нибудь указать мне в правильном направлении?

Я достиг нужного результата, но что-то говорит мне, что есть лучший способ сделать это. Здесь мой код:

int k = 0;  
for (int i=1; i<=6; i++){
   System.out.print("         |");
}
System.out.println();
for (int m=0; m<6; m++){
   for (int j=1; j<10; j++){
      System.out.print(j);
   }
   System.out.print(k);
}

Отлично! Modulo был ответом, который я искал. Мне гораздо комфортнее:

for (int i=1;i<=6;i++){
   System.out.print("         |");
}
System.out.println();
for (int m=0;m<6;m++){
   for (int j=1;j<=10;j++){
      System.out.print(j % 10);
   }
}

Ответ 1

Используйте modulo operator%. Это дает вам остаток. Поэтому, начиная цикл в 1, когда 1 делится на 10, остаток 1. Когда 2 делится на 10, остаток 2 и т.д. Когда 10 делится на 10, результат 0.

for(int i = 1; i <= 10; i ++) {
      System.out.println(i % 10);
}

Ответ 2

Вам нужен оператор mod (%).

10 % 10 = 0
11 % 10 = 1

Он вычисляет остаток после деления.

Ответ 3

Почему вы не можете просто создать это:

012345678901234567890123456789012345678901234567890123456789

А затем возьмите символ с фронта и вставьте его в конец?

Ответ 4

Есть много способов. Самое простое это, возможно:

for (int i = 1; i <= 10; i++) {
   System.out.println(i % 10);
}

Если у вас есть 2 цикла, вы можете использовать этот факт:

for (int i = 0; i < 5; i++) {
   for (int j = 1; j <= 9; j++) {
       System.out.print(j);
   }
   System.out.print(0);
}

Ответ 5

Если это представляет тип шаблона, то, не просто определяя шаблон, а затем выводить результат на экран (или делать все, что вы хотите), это:

printPattern("         |", 6);
printPattern("1234567890", 6);

public void printPattern(string pattern, int max)
{   
    int i = 0; 
    while (++i <= max)
        System.out.print(pattern);
    System.out.println();
}

Ответ 6

Вы можете попробовать использовать modulo:

i = i % 10

Ответ 7

for (int i=1; i<100; i++)
    System.out.println(i%10);

Ответ 8

Здесь немодульное решение:

$x = 1;
while(1){
  if($x>9){
     $x=0;
  }
print $x;
$x++;
}
Да, я знаю, это дешево. Это будет работать.;)