Java怎么通过判读控制台的输入控制程序的运行

Scanner xl=new Scanner(System.in);
System.out.print("请输入乘法表的层数:");
int k= xl.nextInt();
for (int i=1;i<=k;i++){
    for (int j=1;j<=i;j++){
        System.out.print(j+"*"+i+"="+i*j+'\t');
    }
    System.out.println("");
}

就这个代码为例,怎么样能让我的程序执行完一次后,在控制台输入指定的命令让程序运行下一次。大家把知道的方法都和我说说呗

输入1或2进行选择

public static void main(String[] args) {
        Scanner xl=new Scanner(System.in);
        while(true){
            System.out.println("请输入选择:1.输出乘法表   2.退出程序");
            int choice = xl.nextInt();
            if(choice == 2){
                System.out.println("拜拜!");
                break;
            }
            System.out.print("请输入乘法表的层数:");
            int k= xl.nextInt();
            for (int i=1;i<=k;i++) {
                for (int j = 1; j <= i; j++) {
                    System.out.print(j + "*" + i + "=" + i * j + '\t');
                }
                System.out.println("");
            }
        }
    }

把这个代码放在一个方法里面,然后用过if进行判断,也可以用swich进行判断就好了,输入指定的字符就再次调用这个方法