Java単循環印刷九九乗算表

13670 ワード

普段は九九乗算表を印刷していますが、基本的には二重ループです.
public class NineTest {
    public static void main(String[] args) {
        System.out.println("     :");
        for (int i = 9; i > 0; i--) {
            for (int j = i; j > 0; j--) {
                System.out.print(i + "*" + j + "=" + i*j + "  ");
            }
            System.out.println();
        }
    }
}

コンソール出力:
9*9=81  9*8=72  9*7=63  9*6=54  9*5=45  9*4=36  9*3=27  9*2=18  9*1=9  
8*8=64  8*7=56  8*6=48  8*5=40  8*4=32  8*3=24  8*2=16  8*1=8  
7*7=49  7*6=42  7*5=35  7*4=28  7*3=21  7*2=14  7*1=7  
6*6=36  6*5=30  6*4=24  6*3=18  6*2=12  6*1=6  
5*5=25  5*4=20  5*3=15  5*2=10  5*1=5  
4*4=16  4*3=12  4*2=8  4*1=4  
3*3=9  3*2=6  3*1=3  
2*2=4  2*1=2  
1*1=1  

単一ループ印刷(for):
public class NineTest {
    public static void main(String[] args) {
        System.out.println("     :");
        int i = 9 , j = 9,k;
        for (k = 0; k < 45; k++) {//1+2+...+9=45
            if(j == 0){
                j = --i;
                System.out.println();
            }
            System.out.print(i + "*" + j + "=" + i * j + " ");
            j--;
        }
    }
}

またはwhile実装:
public class NineTest {
    public static void main(String[] args) {
        System.out.println("     :");
        int i = 9 , j = 9;
        while(i > 0){
            if(j == 0){
                j = --i;
                System.out.println();
                continue;
            }
            System.out.print(i + "*" + j + "=" +i * j +  " ");
            j--;
        }
    }
}

コンソール出力:
9*9=81 9*8=72 9*7=63 9*6=54 9*5=45 9*4=36 9*3=27 9*2=18 9*1=9 
8*8=64 8*7=56 8*6=48 8*5=40 8*4=32 8*3=24 8*2=16 8*1=8 
7*7=49 7*6=42 7*5=35 7*4=28 7*3=21 7*2=14 7*1=7 
6*6=36 6*5=30 6*4=24 6*3=18 6*2=12 6*1=6 
5*5=25 5*4=20 5*3=15 5*2=10 5*1=5 
4*4=16 4*3=12 4*2=8 4*1=4 
3*3=9 3*2=6 3*1=3 
2*2=4 2*1=2 
1*1=1