打印出乘法表

时间:2017-01-12 19:11:18

标签: java variables while-loop

我正在使用Java 8浏览HackerRank上的Java教程。目标是从1 - 10打印出2的乘法表。

这是我提出的

public static void main(String[] args) {

    int x = 2;
    int y = 0;
    int z;

    while (y < 10) {

        z = x * y;
        y++;

        System.out.println(x + " x " + y + " = " + z); 
    }

以下是我从上面代码中获得的输出

  • 2 x 1 = 0
  • 2 x 2 = 2
  • 2 x 3 = 4
  • 2 x 4 = 6
  • 2 x 5 = 8
  • 2 x 6 = 10
  • 2 x 7 = 12
  • 2 x 8 = 14
  • 2 x 9 = 16
  • 2 x 10 = 18

我也尝试过&lt; = 10而不是&lt; 10,如上面的代码所示,我的结果是:

  • 2 x 1 = 0
  • 2 x 2 = 2
  • 2 x 3 = 4
  • 2 x 4 = 6
  • 2 x 5 = 8
  • 2 x 6 = 10
  • 2 x 7 = 12
  • 2 x 8 = 14
  • 2 x 9 = 16
  • 2 x 10 = 18
  • 2 x 11 = 20

这些输出都不是我想要的。从逻辑上讲,我相信我的代码是有道理的,应该有用,所以我正在找人给我一些关于我可能错过的东西的提示,或者我犯了一个错误而且我不知道它。我不是在寻找正确答案的代码,而是寻求建议和/或指针,以便我自己提出一个可行的解决方案。

2 个答案:

答案 0 :(得分:0)

  1. 以1
  2. 开始您的y值
  3. 不要将y值递增,直到打印语句

    之后
    public static void main(String[] args) {    
      int x = 2;
    
      int y = 1; //starts at 1
      int z;
    
      while (y < 10) {
    
        z = x * y;
    
        System.out.println(x + " x " + y + " = " + z); 
        y++; // increment y after the print statement
      }
    }
    

答案 1 :(得分:0)

指定y = 1的值并在system.out.println();

之后递增它