我想编写一个java程序计算s=1+1⼀2+1⼀3+.......+1⼀n,直到最后一项小于0.12345;

2025-01-03 01:02:09
推荐回答(5个)
回答1:

1是整形i是整形,整形除整形得到的还是整形所以在
a=1/i;
的时候a=0了 所以你输出的就是1.0
想改很简单a=(float)1.0/i 即可

回答2:

你看下 a的值是0 a =1/i 首先运行的是整型运算 1/i 结果是整形0 然后 赋予float a =0.0

回答3:

用 while(true){....}来解决

回答4:

public class A {
public static void main(String args[]){
float a;
float s=1;
ok:
for(float i=1;;i++){
a=1/i;
if(a<0.12345){
break ok;
}else{
s=s+a;
}

}
System.out.println(" "+s);
}
}
试试这个

回答5:

public class A {
public static void main(String args[]) {
int i = 2;
float a = 1;
float s = 1;
for (; a > 0.12345; i++) {
a = 1 / (float)i;
s += a;
System.out.println(a);
}
System.out.println(i + " " + s);
}
}