A_Gui -Java-实例[02]
优点:可以*输入一个数字,并且打印相关的99乘法表(BufferFly)
缺点1:不能够在大于10的乘法表打印,空格上的大小没有做到动态变换
缺点2:不够精简,代码实现方式不够通俗
//九九乘法表+蝴蝶打印
public static boolean SharpMutiAndBatterFly(int intSum)
{
String strWrite = " "+"\t";
int intCount = 1;
for(int i =1;i<2*intSum;i++)
{
if(intCount<=intSum)
{
for(int j=1;j<=intCount;j++)
System.out.print(intCount+ "x" + j + "=" + j*intCount+"\t");
for(int j=1;j<=2*(intSum-intCount)-1;j++)
System.out.print(strWrite);
for(int j=intCount;j>=1;j--)
if(j!=intSum)
System.out.print(intCount+ "x" + j + "=" + j*intCount+"\t");
System.out.println();
intCount++;
}
else
{
for(int j=1;j<=2*intSum-intCount;j++)
System.out.print(2*intSum-intCount+ "x" + j + "=" + j*intCount+"\t");
for(int j=1;j<=2*(intCount-intSum)-1;j++)
System.out.print(strWrite);
for(int j=2*intSum-intCount;j>=1;j--)
System.out.print(2*intSum-intCount+ "x" + j + "=" + j*intCount+"\t");
System.out.println();
intCount++;
}
}
return true;
}
//主函数
public static void main(String[] args)
{
String strAgain = "YES";
do
{
System.out.print("请输入一个数字n,构建成蝶形乘法表,n=");
int intInput = scanner.nextInt();
SharpMutiAndBatterFly(intInput);
System.out.print("是否重新输入一个数字n(0<n<=9)进行试验?(yes/no?)");
strAgain = scanner.next();
}while(strAgain.toUpperCase().equals("YES"));
}
import java.util.Scanner;
class MutiAndBufferFly
{
public static Scanner scanner = new Scanner(System.in);
//主函数
//九九乘法、蝴蝶表类
}
有其他好的思路的,或者什么错误的地方,希望可以指出来哦~