自己写个类 public class fraction{ private int numerator; private int denominator; public fraction(int numerator, int denominator){ this.numerator=numerator; this.denominator=denominator; } public double getRet(){ return (double)numerator/denominator; } public String toString(){ return numerator+"/"+denominator; } }
这样为何输出的为1? public class zuoye3 { public static void main(String args[]) { int i=1; int sum=0; {for(i=1;i<=100;i++) sum=sum+1/i;} System.out.println("1+1/2+1/3+...=" +sum); } }
JAVA_WEB(不停地往上爬) ( ) 信誉:100 Blog 2006-8-25 12:30:40 得分: 0 有道理 healer_kx(甘草(朝圣中... ...)) ( ) 信誉:100 Blog 2006-8-25 13:11:38 得分: 0
这样为何输出的为1? public class zuoye3 { public static void main(String args[]) { int i=1; int sum=0; {for(i=1;i<=100;i++) sum=sum+1/i;} System.out.println("1+1/2+1/3+...=" +sum); } } 这样写肯定是1 啊 整形和整形相除是不转化为float型 还是整形,1/2+1/3+...=0 可以这样写public class zuoye3 { public static void main(String args[]) { int i=1; int sum=0;
public class fraction{
private int numerator;
private int denominator;
public fraction(int numerator, int denominator){
this.numerator=numerator;
this.denominator=denominator;
}
public double getRet(){
return (double)numerator/denominator;
}
public String toString(){
return numerator+"/"+denominator;
}
}
public class zuoye3
{
public static void main(String args[])
{
int i=1;
int sum=0;
{for(i=1;i<=100;i++)
sum=sum+1/i;}
System.out.println("1+1/2+1/3+...=" +sum);
}
}
有道理 healer_kx(甘草(朝圣中... ...)) ( ) 信誉:100 Blog 2006-8-25 13:11:38 得分: 0
如果是C++就好了,你还可以重载操作符,写起来就显得比较漂亮了。
那就用jni来实现,
感觉java不允许重载操作符是对的。
把i的类型改成float或者double。
整型跟整型的运算结果还是整型
这样为何输出的为1?
public class zuoye3
{
public static void main(String args[])
{
int i=1;
int sum=0;
{for(i=1;i<=100;i++)
sum=sum+1/i;}
System.out.println("1+1/2+1/3+...=" +sum);
}
}
这样写肯定是1 啊
整形和整形相除是不转化为float型
还是整形,1/2+1/3+...=0
可以这样写public class zuoye3
{
public static void main(String args[])
{
int i=1;
int sum=0;
for(i=1;i<=100;i++)
sum=sum+1.0/i;
System.out.println("1+1/2+1/3+...=" +sum);
}
}