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

分析:

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

个人理解的for循环

java PrintWriter下载txt数据换行 printin java_for循环

当循环里面 i 值 在变化时,就可以形成规律的输出

java PrintWriter下载txt数据换行 printin java_System_02


当有多个for循环的时候

java PrintWriter下载txt数据换行 printin java_java_03

先来一个简单的
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~终于打完了!!");

        }
    }
}

输出结果

java PrintWriter下载txt数据换行 printin java_System_04


可以使用制表符 “ \t ”来打印

制表符相当于tab键但是我们的99乘法表是这个样子滴!

java PrintWriter下载txt数据换行 printin java_乘法表_05


用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()是没有回车,用来连接一行中的制表符和数字;

java PrintWriter下载txt数据换行 printin java_java_06


好好学习, 天天向上吧 !

java PrintWriter下载txt数据换行 printin java_for循环_07