java不使用循环构造和Math,用递归输出2的n次方个星号,
时间: 2024-05-10 10:21:22 浏览: 54
使用递归算法实现如下n行n列个星形字符的正向三角形输出。
以下是Java代码:
```
public class Main {
public static void main(String[] args) {
int n = 5;
printStars(pow(2, n));
}
public static int pow(int base, int exponent) {
if (exponent == 0) {
return 1;
} else {
return base * pow(base, exponent - 1);
}
}
public static void printStars(int n) {
if (n > 0) {
System.out.print("*");
printStars(n - 1);
}
}
}
```
解释:
1. `pow` 方法使用递归来计算 2 的 n 次方,如果指数为 0,则返回 1,否则返回基数乘以 base 的 exponent - 1 次方。
2. `printStars` 方法使用递归来输出 n 个星号,如果 n 大于 0,则输出一个星号并调用自身来输出剩下的星号。
阅读全文