Java程序在5行10列中找到另一个技术.print(1到50)

时间:2016-07-09 14:48:23

标签: java if-statement boolean-expression

(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的循环

我希望你理解我的问题。

3 个答案:

答案 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来结束行的版本,我相信这就是你要找的。

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 == 10i == 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(); 
        } 
    }
}