Java利用数组实现乘法口诀打印
1.一维数组固定打印
核心思想是先定义一个一维数组并赋值为1至9,然后利用两个for循环得到行列与结果的输出。
public class Multiply {
public static void main(String[] args) {//一维数组固定打印
// TODO Auto-generated method stub
int a[]= {1,2,3,4,5,6,7,8,9};
for(int i=0;i<9;i++) {
for(int j=0;j<i+1;j++) {
System.out.print(a[i]+"*"+a[j]+"="+a[i]*a[j]+"\t");
}
System.out.println();
}
}
}
结果如图所示
2.利用二维数组固定打印
核心思想是给定数组的大小,然后利用两个for循环先得到乘法的结果,再打印输出。
public class Multiply {
public static void main(String[] args) {//二维数组固定打印
// TODO Auto-generated method stub
int n=9;
int a[][]=new int[n][n];
for(int i=0;i<n;i++) {//行
for(int j=0;j<i+1;j++) {//列
a[i][j]=(i+1)*(j+1);
int k=j+1;
//存放打印的列值,若直接写j+1则会先打印j,再打印1
System.out.print(i+1+"*"+k+"="+a[i][j]+"\t");
}
System.out.println();
}
}
}
结果如图所示
3.二维数组可变列打印
因为乘法口诀表行列是相关的,输出时列数取决于行数,所以可以利用输入的行数来控制整个输出,即可实现可变列的打印。只需在上面二维数组固定打印的代码中加入一个输入便可实现,要注意此时还需要导入Scanner类所使用时的语法import java.util.*;
。
import java.util.*;
public class Multiply {
public static void main(String[] args) {//二维数组可变列打印
// TODO Auto-generated method stub
int n,m=9;
int a[][]=new int[m][m];
System.out.println("请输入您想要得到的九九乘法表的列数:");
Scanner input=new Scanner(System.in);
n=input.nextInt();
for(int i=0;i<n;i++) {//行
for(int j=0;j<i+1;j++) {//列
a[i][j]=(i+1)*(j+1);
int k=j+1;
//存放打印的列值,若直接写j+1则会先打印j,再打印1
System.out.print(i+1+"*"+k+"="+a[i][j]+"\t");
}
System.out.println();
}
}
}
当在控制台输入5时的结果
当在控制台输入9时的结果