老师让做个 1*2*3*.....*100的结果是多少.
我给各位大侠看看我编写的代码有什么问题.package zy;
public class jiayou{
public int he(int a){
int sum=1;
for(int b=2;b<a;b++){
sum=sum*b;
}
return sum;
}
public static void main(String[] args){
jiayou c = new jiayou();
int over = c.he(100);
System.out.println(over);
}
}运行结果是0,这是为什么呢,请各位高手帮忙解答一下,哪错了,为什么错了.
小弟不胜感激~~~~~~~~~~
我给各位大侠看看我编写的代码有什么问题.package zy;
public class jiayou{
public int he(int a){
int sum=1;
for(int b=2;b<a;b++){
sum=sum*b;
}
return sum;
}
public static void main(String[] args){
jiayou c = new jiayou();
int over = c.he(100);
System.out.println(over);
}
}运行结果是0,这是为什么呢,请各位高手帮忙解答一下,哪错了,为什么错了.
小弟不胜感激~~~~~~~~~~
import java.math.*;
public class jiayou{
public BigInteger he(int a){
BigInteger sum=new BigInteger("1");
for(int b=2;b <a;b++){
sum=sum.multiply(new BigInteger(""+b));
}
return sum;
}
public static void main(String[] args){
jiayou c = new jiayou();
BigInteger over = c.he(100);
System.out.println(over);
}
}
public class jiayou{
public double he(int a){
double sum=1; for(int b=2;b <a;b++){
sum=sum*b;
}
return sum;
}
public static void main(String[] args){
jiayou c = new jiayou();
double over = c.he(100);
System.out.println(over);
}
} 运行结果为:
9.33262154439441E155
也应该是:for(int b=2;b=<a;b++){
public double he(int a) {
double sum = 1.0; for (double b = 2.0; b <= (double) a; b++) {
sum = sum * b;
}
System.out.println(sum);
return sum;
} public static void main(String[] args) {
jiayou c = new jiayou();
double over = c.he(4);
System.out.println(over);
}
}