不耻下问:Java语言打印九九乘法表,不使用while和for,不使用goto,函数,只使用if语句可以实现么
public static void main(String[] args) {
print99(1,1);
}
public static void print99(int i,int j){
if(i < j){
System.out.print(i + "*" + j + "=" + i * j +" ");
print99(++i,j);
}else if(i <= 9){//每次只打印第一个和最后一个
System.out.println(i + "*" + j + "=" + i * j);
if(i == j){//当前i打印完成
if(j == 9){
return;
}
print99(1,++j);
}
}
}
下次记得了解下 不耻下问的意思
if + 递归 可以实现 如下:
public static void main(String[] args) {
print(9,9);
}
private static void print(int i, int j) {
if(i == 0 ) return;
if(j == 1){
print(i - 1 ,i - 1);
System.out.println();
}else{
print(i ,j-1);
}
System.out.print(j + "*" + i + "=" + i * j + "\t");
}