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

来源:互联网 发布:基于qt的socket编程 编辑:程序博客网 时间:2024/06/03 15:35

首先我们输出一个一般的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();
}

0 0
原创粉丝点击