每 10 个字符设置换行的 if 条件
Set if-condition for new line every 10th character
我想在第 10 个数组后换行。我的数组是从 1-365 (day[0]=1, day[1]=2, ..)
.
填充的
这是我的代码,我坚持创建 if-condition
:
int day[] = new int[365];
for(int i=0; i<day.length; i++){
day[i] = i+1;
System.out.print(day[i]+" ");
if((i % 10) == 0){
System.out.println();
}
}
这应该是我的控制台输出:
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 ...
我得到的:
1
2 3 4 5 6 7 8 9 10 11
12 13 14 15 16 17 18 19 20 21
22 23 24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39 40 41
42 43 44 45 46 47 48 49 50 51
将您的条件更改为:
if(((i+1) % 10) == 0){
System.out.println();
}
您正在打印 i+1
,所以您想在 i+1
被 10 整除时添加一个换行符。
这是因为数组索引从0开始。所以你认为第10个字符是Java,第9个(第一个是第0个)。
改为检查 ((i + 1) % 10)
。
或者您可以检查 day[i]
的实际值,因为您已经将其设置为 i + 1
。
试试这个
int day[] = new int[365];
for(int i=1; i<day.length; i++){
day[i-1] = i;
System.out.print(day[i-1]+" ");
if((i % 10) == 0){
System.out.println();
}
if(i==day.length-1){
day[i] = i+1;
System.out.print(day[i]+" ");
}
}
输出
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
.......
您也可以跳过使用数组并像这样打印:
public static void main(String[] args) {
for (int i = 0; i < 365; ++i) {
System.out.format("%3d ", i + 1);
if ((i + 1) % 10 == 0)
System.out.println();
}
}
输出
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
101 102 103 104 105 106 107 108 109 110
....
这将是您的解决方案,例如:
如果你不明白它,让你的例子更容易理解:
public static void main(String[] args){
System.out.println("This would be your solution:");
int day[] = new int[365];
for (int i = 0; i < 365; i++) {
day[i]=i+1;
//System.out.print(day[i]);
}
for (int i = 0; i < day.length; i++) {
int j = day[i];
System.out.print(j+" ");
if(j%10==0){
System.out.println();
}
}
}
我想在第 10 个数组后换行。我的数组是从 1-365 (day[0]=1, day[1]=2, ..)
.
这是我的代码,我坚持创建 if-condition
:
int day[] = new int[365];
for(int i=0; i<day.length; i++){
day[i] = i+1;
System.out.print(day[i]+" ");
if((i % 10) == 0){
System.out.println();
}
}
这应该是我的控制台输出:
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 ...
我得到的:
1
2 3 4 5 6 7 8 9 10 11
12 13 14 15 16 17 18 19 20 21
22 23 24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39 40 41
42 43 44 45 46 47 48 49 50 51
将您的条件更改为:
if(((i+1) % 10) == 0){
System.out.println();
}
您正在打印 i+1
,所以您想在 i+1
被 10 整除时添加一个换行符。
这是因为数组索引从0开始。所以你认为第10个字符是Java,第9个(第一个是第0个)。
改为检查 ((i + 1) % 10)
。
或者您可以检查 day[i]
的实际值,因为您已经将其设置为 i + 1
。
试试这个
int day[] = new int[365];
for(int i=1; i<day.length; i++){
day[i-1] = i;
System.out.print(day[i-1]+" ");
if((i % 10) == 0){
System.out.println();
}
if(i==day.length-1){
day[i] = i+1;
System.out.print(day[i]+" ");
}
}
输出
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
.......
您也可以跳过使用数组并像这样打印:
public static void main(String[] args) {
for (int i = 0; i < 365; ++i) {
System.out.format("%3d ", i + 1);
if ((i + 1) % 10 == 0)
System.out.println();
}
}
输出
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
101 102 103 104 105 106 107 108 109 110
....
这将是您的解决方案,例如: 如果你不明白它,让你的例子更容易理解:
public static void main(String[] args){
System.out.println("This would be your solution:");
int day[] = new int[365];
for (int i = 0; i < 365; i++) {
day[i]=i+1;
//System.out.print(day[i]);
}
for (int i = 0; i < day.length; i++) {
int j = day[i];
System.out.print(j+" ");
if(j%10==0){
System.out.println();
}
}
}