java语言编写99乘法表的变形

本文介绍了如何使用Java编程实现99乘法表的三种变形:正位三角形、反位三角形和对角三角形,并展示了组合成矩形的代码示例。通过这些变换,读者可以更深入地理解乘法表的结构和Java的循环控制技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先我们输出一个一般的9*9乘法表


代码如下:

public class Triangle {
public static void main(String[] args) {


/* 正位三角形 */


int sum = 0;
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
sum = i * j;
if (sum < 10) {
System.out.print(j + "*" + i + "=" + " " + sum + " ");
} else {
System.out.print(j + "*" + i + "=" + sum + " ");
}

}
System.out.println();
}

然后我们将这个三角形进行上下变换(个人将其简称为反位三角形)

代码如下:

int sum = 0;
for (int i = 9; i > 0; i--) {
for (int j = i; j > 0; j--) {
sum = i * j;
if (sum < 10) {
System.out.print(j + "*" + i + "=" + " " + sum + " ");
} else {
System.out.print(j + "*" + i + "=" + sum + " ");
}
}
System.out.println();
}

现在我们将正位三角形进行左右变换

代码如下:

/* 正位对角三角形 */(即右上方)


int sum = 0;
for (int i = 9; i > 0; i--) {
for (int z = 0; z <= 9 - i; z++) {
System.out.print("       ");
}
for (int j = 1; j <= i; j++) {
sum = i * j;
if (sum < 10) {
System.out.print(j + "*" + i + "=" + " " + sum + " ");
} else {
System.out.print(j + "*" + i + "=" + sum + " ");
}
}
System.out.println();
}

代码如下:

 int sum = 0;(即右下方)
for (int i = 1; i < 10; i++) {
for (int z = 9 - i; z >= 0; z--) {
System.out.print("       ");
}
for (int j = 1; j <= i; j++) {
sum = i * j;
if (sum < 10) {
System.out.print(j + "*" + i + "=" + " " + sum + " ");
} else {
System.out.print(j + "*" + i + "=" + sum + " ");
}
}
System.out.println();
}


最后我们将这四个三角形进行简单的一些变化组合,可以生成一个四个三角形组成的矩形


代码如下:

int sum = 0;
for (int i = 9; i > 0; i--) { //此部分用于生成上面的两个三角形
for (int j = i; j > 0; j--) { //上部分  左边三角形
sum = i * j;
if (sum < 10) {
System.out.print(i + "*" + j + "=" + " " + sum + " ");
} else {
System.out.print(i + "*" + j + "=" + sum + " ");
}
}
for (int z = 0; z < 9 - i; z++) { //中间的空格
System.out.print("       ");
System.out.print("       ");
}


for (int m = 1; m <= i; m++) { //上部分  边三角形
sum = i * m;
if (sum < 10) {
System.out.print(m + "*" + i + "=" + " " + sum + " ");
} else {
System.out.print(m + "*" + i + "=" + sum + " ");
}
}
System.out.println();
}


for (int i = 1; i <= 9; i++) { //此部分用于生成面的两个三角形
for (int j = i; j >= 1; j--) { //部分  边三角形
sum = i * j;
if (sum < 10) {
System.out.print(j + "*" + i + "=" + " " + sum + " ");
} else {
System.out.print(j + "*" + i + "=" + sum + " ");
}
}
for (int z = 9 - i; z > 0; z--) { /中间空格部分/
System.out.print("       ");
}
for (int z = 9 - i; z > 0; z--) {
System.out.print("       ");
}
for (int j = 1; j <= i; j++) { //部分  边三角形
sum = i * j;
if (sum < 10) {
System.out.print(j + "*" + i + "=" + " " + sum + " ");
} else {
System.out.print(j + "*" + i + "=" + sum + " ");
}
}
System.out.println();
}

<think>我们参考多个引用中的Java实现九九乘法表的代码,总结出几种常见的写法,并给出解释。引用[2]和引用[3]提供了两种常见的写法:一种是正三角形式,另一种是倒三角形式。用户要求实现九九乘法表,通常指的是正三角形式(即从1*1开始,到9*9结束,每行输出对应的乘法等式,且每行的列数等于行数)。我们将分步骤解释如何用Java实现九九乘法表:1.使用两层嵌套循环:外层循环控制行数(从1到9),内层循环控制每行输出的列数(第i行输出i列)。2.在内层循环中,输出乘法表达式,例如:i+"*"+j+"="+(i*j),并使用制表符"\t"分隔,以保持对齐。3.每行内层循环结束后,使用System.out.println()换行。根据引用[2]和引用[3]的代码,我们可以写出如下两种形式(都是正三角,但表达式顺序略有不同):-形式1:每行输出为j*i=(i*j)(其中j从1到i)for(inti=1;i<=9;i++){for(intj=1;j<=i;j++){System.out.print(j+"*"+i+"="+(i*j)+"\t");}System.out.println();}-形式2:每行输出为i*j=(i*j)(其中j从1到i)for(inti=1;i<=9;i++){for(intj=1;j<=i;j++){System.out.print(i+"*"+j+"="+(i*j)+"\t");}System.out.println();}两种形式都是正确的,但通常我们看到的九九乘法表是第一种形式(即j*i),因为这样更符合阅读习惯(例如第一行是1*1,第二行是1*2,2*2,第三行是1*3,2*3,3*3,以此类推)。实际上,在乘法表中,我们习惯将较小的数放在前面,所以第一种形式(j*i)更常见。因此,我们采用第一种形式。代码实现如下:```javapublicclassMultiplicationTable{publicstaticvoidmain(String[]args){//外层循环控制行数(1到9)for(inti=1;i<=9;i++){//内层循环控制每行的列数(1到i)for(intj=1;j<=i;j++){//打印乘法表达式:j*i=乘积,并用制表符分隔System.out.print(j+"*"+i+"="+(i*j)+"\t");}//每行结束后换行System.out.println();}}}```运行这段代码,将输出如下形式的九九乘法表:1*1=11*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=124*4=16...(以此类推,直到9行)注意:由于控制台输出时,不同位数的乘积会导致制表符对齐不够完美,但基本格式正确。如果需要更严格的对齐,可以考虑使用格式化输出(如System.out.printf),但题目没有要求,这里使用制表符即可。另外,引用[4]和引用[5]提供了其他实现方式,但相对复杂或使用了不同的控制逻辑,我们这里采用最清晰的双层循环结构。总结:使用两层for循环,外层循环变量i从1到9,内层循环变量j从1到i,在内层循环中输出j*i的表达式,每行结束后换行。§§相关问题§§1.如何用Java实现倒三角形式的九九乘法表?2.Java中除了使用两层循环,还有哪些方法可以实现九九乘法表?3.如何优化九九乘法表的输出格式使其对齐更美观?4.九九乘法表在编程教学中有什么重要意义?</think>### 如何使用 Java 编写九九乘法表程序 在 Java 中实现九九乘法表主要通过**嵌套循环结构**完成。以下是两种常用实现方法及详细解释: #### 方法一:标准双层 for 循环(正三角) ```java public class MultiplicationTable { public static void main(String[] args) { // 外层循环控制行数 (1-9) for (int i = 1; i <= 9; i++) { // 内层循环控制每行的列数 (1-i) for (int j = 1; j <= i; j++) { // 打印乘法表达式:j * i = 乘积 System.out.print(j + "*" + i + "=" + (i * j) + "\t"); } System.out.println(); // 每行结束换行 } } } ``` **执行结果示例**: ``` 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 ...(省略中间行)... 1*9=9 2*9=18 ... 9*9=81 ``` #### 方法二:倒三角形式(仅需修改内层循环条件) ```java for (int i = 1; i <= 9; i++) { // 修改 j 的初始值:从 i 开始到 9 for (int j = i; j <= 9; j++) { System.out.print(i + "*" + j + "=" + (i * j) + "\t"); } System.out.println(); } ``` #### 关键实现原理 1. **外层循环**:控制行数(乘数 $i$),$i$ 从 1 到 9 2. **内层循环**:控制每行的表达式数量(被乘数 $j$),$j$ 从 1 到 $i$ 3. **输出格式**: - 表达式:`j + "*" + i + "=" + (i*j)` - 制表符 `\t` 保持列对齐 - `System.out.println()` 实现换行 #### 优化技巧 1. **格式化输出**:使用 `printf` 对齐结果 ```java System.out.printf("%d*%d=%-2d ", j, i, i*j); ``` 2. **单循环实现**(参考引用[4]): ```java for (int i = 1, j = 1; j <= 9; i++) { System.out.print(i + "*" + j + "=" + (i*j) + " "); if(i == j) { i = 0; // 重置i j++; // 移动到下一行 System.out.println(); } } ``` > 提示:九九乘法表是理解**循环嵌套**和**算法思维**的经典案例,在编程教学中常用于训练基础逻辑能力[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值