-3

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

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,然后在水平轴上再次打印出来。我希望图表像乘法表一样阅读。

4

2 回答 2

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 循环和变量增量)。

这是一个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; 
    }
}
于 2013-02-28T03:27:11.077 回答
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; 
    }
  }
}  
于 2015-10-09T03:29:32.173 回答