从Java开始:打印出乘法表

时间:2013-02-28 03:22:57

标签: java

我正在尝试打印出偶数乘法表。有人可以帮忙吗?我需要有人解释为什么我会得到一个奇怪的结果,而不是我想要的结果。

public class even {

public static void main(String[] args)
{
int i = 0;

while(i <= 10){
int j = 0; 
    while(j <= 10) {
        j+=2;
        System.out.print(i*j + "\t");
    }
    System.out.println();
    i+=2; 
}
}

}

我想要的输出是打印输出:垂直轴上的0,2,4,6,8和水平轴上的输出。我希望图表读取像乘法表。

2 个答案:

答案 0 :(得分:0)

这是怎么回事?我怀疑您的问题可能是因为您在使用j

计算答案之前添加j+=2;
public static void main(String[] args) {

    int startAt = 2;

    for (int i = startAt; i <= 10; i += 2) {
        for (int j = startAt; j <= 10; j += 2) {
            System.out.print(i*j + "\t");
        }
        System.out.println();
    }
}

for循环的使用在这里是完美的,因为它将几行合并为一个(变量初始化,循环和变量增量)。

这是一个while循环,但它并不理想:

public static void main(String[] args) {

    int startAt = 2;
    int i = startAt;

    while (i <= 10){
        int j = startAt; 

        while (j <= 10) {
            // Notice these lines are swapped!
            System.out.print(i*j + "\t");
            j+=2;
        }

        System.out.println();
        i+=2; 
    }
}

答案 1 :(得分:0)

import java.util.Scanner;
public class WhileLoop
{   
   public static void main(String[] args) 
   {

    int startAt = 1;
    int i = startAt;

    while (i <= 20){
        int j = startAt; 

        while (j <= 20) {
            // Notice these lines are swapped!
            System.out.print(i*j + "\t");
            j+=1;
        }

        System.out.println();
        i+=1; 
    }
  }
}