无法理解for循环如何在java中工作

时间:2017-10-02 15:50:01

标签: java for-loop

我是java的新手,我必须为乘法表编写代码。我有一个方形表的乘法工作,但我需要它为反向三角形工作。我需要在代码中添加什么才能使其像以下示例一样打印?

/*What I have:
1   2   3   4
2   4   6   8
3   6   9   12
4   8   12  16

What I want:
1  2  3  4
   4  6  8
      9  12
         16
*/
import java.util.Scanner;

public class question3{
  public static void main(String[] args){

    System.out.print("Enter an integer between 1 and 10: ");
    Scanner input = new Scanner(System.in);

    int value = input.nextInt();

    if(value < 0 || value > 10){
        while(value < 0 || value > 10){
        System.out.print("Enter an integer between 1 and 10: ");

        value = input.nextInt();

            if(value <= 10){
                for(int x=1; x <= value; x++){

                    System.out.println();
                    for(int y=1; y<= value; y++){

                        int z=x*y;
                        System.out.printf(z + "\t");
                    }
                }
            }
        }
    }

    else if (value <=10 && value >=0){
        for(int x=1; x <= value; x++){

            System.out.println();
            for(int y=1; y<= value; y++){

                int z=x*y;
                System.out.printf(z + "\t");
            }
        }
    }
    System.out.println();
  }
}

1 个答案:

答案 0 :(得分:0)

从给定的信息

我假设您想要制作一个显示值

的表
  /* 1  2  3  4
        4  6  8
           9  12
              16  */

这是我编写的简单代码,它也显示了你想要的同一个表。

   int row,column  ;
   column = row = 4;

   String space = " ";
   for(int i=0;i<row;++i)
    {
        for(int x=0;x<2*i;++x )
         {
               System.out.print(space);
          }
        for(int y=1; y<=column; ++y)
          {
              System.out.print(space);
              System.out.print((y+i)*(i+1));
           }
        column = column -1;
        System.out.println();
    }