(1)
public static void main(String[] args)
{
for (int i = 1; i <= 50; i++)
{
System.out.print(i);
if ((i %10=0)
System.out.println();
}
}
***************************************...
(2)
public static void main(String[] args) {
for (int i = 1; i <= 50; i++) {
System.out.print(i);
if ((i == 10) || (i == 20) || (i == 30) || (i == 40) || (i==50) {
System.out.println();
}
}
在(2)程序中我想使用循环或其他地方(i == j),.其中j包含值10,20,30,40,50。
if(i==j){
System.out.println();
}
我想这样做,因为如果我想从1到100打印 然后我必须输入(i == 10)(i == 20)(i == 30)..直到(i == 100)。
所以我想在if布尔语句中使用循环if(i == j)其中j可以是一个值为j = j + 10的循环
我希望你理解我的问题。
答案 0 :(得分:1)
以下是4种方法
所有4个版本都使用printf("%2d ", 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
首先,修正了#1的版本,其中比较已修复为使用==
。
for (int i = 1; i <= 50; i++) {
System.out.printf("%2d ", i);
if (i % 10 == 0)
System.out.println();
}
其次,使用i == j
来结束行的版本,我相信这就是你要找的。 p>
for (int i = 1, j = 10; i <= 50; i++) {
System.out.printf("%2d ", i);
if (i == j) {
System.out.println();
j += 10;
}
}
第三,使用两个嵌套循环的方法,使用单独的num
变量来打印值。
for (int i = 1, num = 1; i <= 5; i++) {
for (int j = 1; j <= 10; j++, num++)
System.out.printf("%2d ", num);
System.out.println();
}
第四,另一种做两个嵌套循环的方法,没有一个单独的变量用于打印值。
for (int i = 1; i <= 50; i += 10) {
for (int j = i; j <= i + 9; j++)
System.out.printf("%2d ", j);
System.out.println();
}
答案 1 :(得分:0)
试试这个代码段:
StringBuilder builder = new StringBuilder();
for (int i = 1; i <= 50; i++) {
char c = i % 10 == 0 ? '\n' : '\t';
builder.append(i + String.valueOf(c));
}
System.out.println(builder.toString());
答案 2 :(得分:0)
这样您就不必编写所有条件(i == 10
,i == 20
...):
public static void main(String[] args) {
for (int i = 1, j = 10; i <= 50; i++) {
System.out.print(i);
if (i == j) {
j += 10;
System.out.println();
}
}
}