需求:
打印一下 朗朗上口滴 “99 乘法表”
分析:
- 先对输入的情况进行判断
- 使用for循环
- 使用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 的乘法表 ;
- 用了3个 for;
- 最外面的 for 控制打印几列 里面的两个for一个控制输出制表符的个数,一个控制输出乘法表;
- 中间用 if 来告诉程序到底是输出制表符还是数字, 最后用一个回车换到下一行;
- 每行结束后要将 j 初始化( j = 0),才可以; 否则下个循环中 j 原来的值会迭代并出错;
- System.out.println()是含有回车的,用来换行;
- System.out.print()是没有回车,用来连接一行中的制表符和数字;
好好学习, 天天向上吧 !