public static void main(String[] args) {
DiGui d = new DiGui()
System.out.print(d.TT(20))
}
public double TT(int i)//写一个返回值为double 类型的方法,20的阶层值比较大int类型的值无法表示
{ //方法体比较简单
if(i <= 1)
{
return i
}
else
{
return i*TT(i-1)//方法自己调用自己呵呵。。。
}
}
}
int的范围是-2147483648 到2147483648
要是想精确计算,最好用BidDecimal
System.out.print("please input the number to compute(0~20)")Scanner input = new Scanner(System.in)
int a = input.nextInt()
BigDecimal s = new BigDecimal(1)
if ((a < 0) || (a > 20)) {
System.out.println("input errors")
} else if (a > 0) {
for (int i = 1 i <= a i++) {
s = s.multiply(new BigDecimal(i))
}
System.out.println(s)
} else {
System.out.print("1")
}
for的嵌套循环的:
public class Practice5 {public static void main(String[] args) {
long sum = 0, c
for (int i = 1 i <= 20 i++) {
c = 1
for (int b = 1 b <= i b++) {
c *= b
}
sum += c
}
System.out.println("1到20的阶乘和等于" + sum)
}
}
单个for循环的:
public class Practice5 {public static void main(String[] args) {
long sum = 0, c = 1
for (int i = 1 i <= 20 i++) {
c *= i
sum += c
}
System.out.println("1到20的阶乘和等于" + sum)
}
}