Java打印九九乘法表
- 步骤
- 先打印第一列
- 把固定的1再用一个循环包起来
- 去掉重复项 i<=j
- 调整样式
1. 先打印第一列
public class Demo {
public static void main(String[] args){
for (int i = 1; i <= 9; i++) {
System.out.println(1+"*"+i+"="+(1 * 1));
}
}
}
输出了第一列:1* 固定不动,共输出了9 行:
2. 把固定的1再用一个循环包起来
因此我们需要让 1 变化,便利9次即可,因此将固定的1 再用一个循环包起来:
public class Demo {
public static void main(String[] args){
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <= 9; i++) {
System.out.println(j +"*"+i+"="+(j * 1));
}
}
}
}
但是现在遇到了一个问题,我们可以让固定的1变化了,但是每个循环都是j 与从1到9的相乘会,出现重复: 因结果很长,图取部分:
3. 去掉重复项 ( i <= j )
因此我们需要去掉重复的项:我们发现每次随着j 的增大,i 也是在增大的,但是根据九九乘法表i 增大的值不能超过j 。例如:j = 1 时,i<=1 ,因此只输出1行,j = 2 时,i<=2 ,因此只输出2行,以此类推,i <= j
public class Demo {
public static void main(String[] args){
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <= j; i++) {
System.out.println(j +"*"+i+"="+(j * 1));
}
}
}
}
4. 调整样式
结果是对的,因此我们需要调整一下样式即可: 每输出一个表达式需要后面加一个tab键 “\t” 用于分隔,每次一系列结束,即内循环结束j = i时 ,j 变换一次,就换行。
print 不换行 println 输出后+换行
public class Demo {
public static void main(String[] args){
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(i + "*" + j + "=" + (i * j) + "\t");
}
System.out.println();
}
}
}
|