My problem is to use nested for loops in order to create this output:
| | | | | |
123456789012345678901234567890123456789012345678901234567890
I can't figure out the best way to replace the int 10 with 0. I've tried a few ways, but they are gimmicky, and don't seem right to me. I hope my problem is apparent, it's kind of hard to explain. Can someone point me in the right direction?
I've achieved the correct output, but something tells me that there is a better way to go about this. Here's my code:
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);
}
Great! Modulo was the answer I was looking for. I feel much more comfortable with this:
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);
}
}
Use the modulo operator %. It gives you the remainder. Therefore starting the loop at 1, when 1 is divided by 10 the remainder is 1. When 2 is divided by 10 the remainder is 2, etc.. When 10 is divided by 10 the output is 0.
for(int i = 1; i <= 10; i ++) {
System.out.println(i % 10);
}