自学Java之基础篇——回忆童年,打印 “99乘法表”

需求:
打印一下 朗朗上口滴 “99 乘法表”

分析:

  1. 先对输入的情况进行判断
  2. 使用for循环
  3. 使用for循环的嵌套

个人理解的for循环
在这里插入图片描述

当循环里面 i 值 在变化时,就可以形成规律的输出
在这里插入图片描述
当有多个for循环的时候
在这里插入图片描述

先来一个简单的
import java.util.Scanner;

public class practice02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入想要打印的乘法表 n");
        int n = sc.nextInt();

        if (n >= 10) {
            System.out.println("你数学TM是体育老师教的吧!!");

        } else {


            for (int i = n; i <= 9; i++) {

                System.out.println();
                System.out.println( i + "的乘法");

                for (int j = 1; j <= i; j++) {
                    System.out.println(j + "*" + i + " = " + (i * j));
                }

            }

            System.out.println();
            System.out.println("MD~终于打完了!!");

        }
    }
}

输出结果
在这里插入图片描述
可以使用制表符 “ \t ”来打印
制表符相当于tab键

但是我们的99乘法表是这个样子滴!
在这里插入图片描述
用for循环捋一下
i * j = ji

  • 两个就够了;
  • 外循环用来控制一共打几行,用j控制
  • 内循环来控制一行打几个, i 顺便用判断,结合制表符来打印空格和换行
    在这里插入图片描述
    但是我童年的乘法表不是这样的…
    而是这样的*****
    在这里插入图片描述
import java.util.Scanner;

public class practice02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入想要打印的乘法表 n");
        int n = sc.nextInt();

        if (n >= 10) {
            System.out.println("你数学TM是体育老师教的吧!!");

        } else {
        
            int a = n;
            int j = 0;
            int i = 0;

            for (; n >= 1; n--) {

                //System.out.print("n = " + n + "\t");测试输出的n

                for (int N = n; N > 1; N--) {
                //System.out.print("0 * 0 = 0" + "\t");
                    System.out.print("         " + "\t");
                    j++;
                }
                //System.out.print("j = " + j + "\t");
                //System.out.print("n = " + n + "\t");

                if (j == n - 1) {
                    for (int M = j + 1; M <= a; M++) {
                        System.out.print((j + 1) + " * " + M + " = " + (j + 1) * M + "\t");
                        if (M == a) {
                            System.out.println();
                        }
                    }
                }
                j = 0;
            }
            System.out.println();
        }
        System.out.println();
        System.out.println("MD~终于打完了!!");
    }
}

这里我们加了一个功能
只要输入一个不大于9的 n ;
就可以输出打印任意到 n 的乘法表 ;

  1. 用了3个 for;
  2. 最外面的 for 控制打印几列 里面的两个for一个控制输出制表符的个数,一个控制输出乘法表;
  3. 中间用 if 来告诉程序到底是输出制表符还是数字, 最后用一个回车换到下一行;
  4. 每行结束后要将 j 初始化( j = 0),才可以; 否则下个循环中 j 原来的值会迭代并出错;
  • System.out.println()是含有回车的,用来换行;
  • System.out.print()是没有回车,用来连接一行中的制表符和数字;

在这里插入图片描述
好好学习, 天天向上吧 !

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值