网站首页 > java教程 正文
1. 前言
对于九九乘法表大家都非常熟悉吧!可是在Java编程中它是怎么编写的?今天就教大家怎么编写九九乘法表吧!
2. 打印形式
/**
* @Classname Test
* @Description 九九乘法表打印
* @Author pps
* @Date 2021/10/13 10:10
* @Version 1.0
*/
public class Test {
static final int LENGTH_OF_ARRAY= 9;
/**
* 判断结果是否大于9,如果不大于9前面加一个空格
* @param num
* @return
*/
public static String print(int num) {
return (num > LENGTH_OF_ARRAY) ? "" + num : " " + num;
}
public static void square(){
System.out.println("打印方形九九乘法表:");
int i, j;
for(i=1; i <= LENGTH_OF_ARRAY; i++){
for(j=1; j<=LENGTH_OF_ARRAY; j++){
System.out.print(i+"*"+j+"="+print(i*j)+"\t");
}
System.out.println();
}
}
/**
* 正三角乘法表
* @return
*/
public static void regularTriangle(){
System.out.println("打印正三角九九乘法表:");
int i, j;
for (i = 1; i <= LENGTH_OF_ARRAY; i++) {
for (j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + print(i * j) + "\t");
}
System.out.println();
}
}
/**
* 倒三角乘法表
*/
public static void invertedTriangle(){
System.out.println("打印倒三角九九乘法表:");
int i, j;
for (i=9; i>=1; i--) {
for (j=1; j<=i; j++) {
System.out.print(j+"*"+i+"="+print(i*j)+"\t");
}
System.out.println();
}
}
public static void main(String[] args) {
square();
regularTriangle();
invertedTriangle();
}
}
打印九九乘法表输出:
打印方形九九乘法表:
1*1= 1 1*2= 2 1*3= 3 1*4= 4 1*5= 5 1*6= 6 1*7= 7 1*8= 8 1*9= 9
2*1= 2 2*2= 4 2*3= 6 2*4= 8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*1= 3 3*2= 6 3*3= 9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*1= 4 4*2= 8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54
7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63
8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72
9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
打印正三角九九乘法表:
1*1= 1
1*2= 2 2*2= 4
1*3= 3 2*3= 6 3*3= 9
1*4= 4 2*4= 8 3*4=12 4*4=16
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
打印倒三角九九乘法表:
1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25
1*4= 4 2*4= 8 3*4=12 4*4=16
1*3= 3 2*3= 6 3*3= 9
1*2= 2 2*2= 4
1*1= 1
3. 算法实现
/**
* 使用while()实现打印九九乘法表
*/
public static void whileIf() {
int i = 1, j = 1;
while (i <= LENGTH_OF_ARRAY) {
System.out.print(j + "*" + i + "=" + print(j * i) + "\t");
j++;
if (j > i) {
j = 1;
i++;
System.out.println();
}
}
}
/**
* 使用do()while()实现打印九九乘法表
*/
public static void doWhile() {
int i = 1;
do{
int j=1;
do{
System.out.print(i+"*"+j+"="+(i*j)+" "+"\t");
j++;
}while(j<=i);//大于i之后跳出循环
System.out.println();
i++;
}while(i<=LENGTH_OF_ARRAY);//小于1之后跳出循环
}
/**
*递归实现打印出九九乘法表
* @param i
*/
public static void recursion(int i) {
if (i == 1) {
System.out.println("1*1= 1 ");
} else {
recursion(i - 1);
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + print(j * i )+ " ");
}
System.out.println();
}
}
4. 码农来洞见
九九乘法表不同的打印形式是为了提升编程的逻辑思维,不同的算法实现是为了提升编程的数据结构和算法。学本事还是要内外兼修!
☉ 点击关注『码农洞见』,洞见也许就在其中 ☉
猜你喜欢
- 2024-10-31 阿里经典面试-java三线程轮流打印A、B、C的ReentrantLock实现
- 2024-10-31 学习廖雪峰的JAVA教程---反射(名叫Class的类、动态加载)
- 2024-10-31 Java案例-求和与打印九九乘法表(用java打印九九乘法口诀)
- 2024-10-31 Java面试题:怎么让两个线程交替打印1和2(生产者消费者问题)
- 2024-10-31 第九章:Java输入输出流和文件操作
- 2024-10-31 Java 自定义注解+AOP 实现日志打印
- 2024-10-31 Java基础学习:java输出整数类型(java分别输出整数和小数)
- 2024-10-31 不懂这些,你敢说自己知道Java标准输入输出流?
- 2024-10-31 Java高阶面试:如何实现三个线程交替循环打印
- 2024-10-31 字节流的输入输出,JAVA基础知识笔记
你 发表评论:
欢迎- 07-15采用Oracle OSB总线进行服务注册和接入
- 07-15javaEE 新闻管理系统 oracle11+tomcat6
- 07-15从Oracle演进看数据库技术的发展(oracle数据库发展史)
- 07-15如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 07-15【权威发布】关于Oracle WebLogic Server未授权远程代码执行高危漏洞的预警通报
- 07-15【mykit-data】 数据库同步工具(数据库表同步工具)
- 07-15[Java速成] 数据库基础,Connector/J、JDBC、JPA的关系(day 7)
- 07-15Google前工程主管“入住”Oracle(google浏览器找不到以前的书签)
- 最近发表
-
- 采用Oracle OSB总线进行服务注册和接入
- javaEE 新闻管理系统 oracle11+tomcat6
- 从Oracle演进看数据库技术的发展(oracle数据库发展史)
- 如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 【权威发布】关于Oracle WebLogic Server未授权远程代码执行高危漏洞的预警通报
- 【mykit-data】 数据库同步工具(数据库表同步工具)
- [Java速成] 数据库基础,Connector/J、JDBC、JPA的关系(day 7)
- Google前工程主管“入住”Oracle(google浏览器找不到以前的书签)
- Oracle数据库云服务系列新增前所未有的企业级功能
- 直播预告丨如何实现Oracle存储过程到java的一键转化
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)