关于java的一个问题:用for循环编写以下程序,求1/1+1/2-1/3+1/4-1/5.........-1/99的值是多少?

class Noname1
{
public static void main(String[] args)
{
int i = 1;
float sum = 0;
int j = 1;
for (i=1;i<=99 ;i++)
{
sum = (float)sum +j*(1/i);
j = -j;
}
System.out.println("sum = "+sum);
}
}
答案错误.....

改成 :sum = sum +j*(1.0/i); 总之,应该是把这个算式后面的部分强转成浮点型,你的sum本就是float 不用强转。如果改成1.0还是不行就把 1.0/i 强转一下。你强转的位置不对
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-09-16
class Noname1
{
public static void main(String[] args)
{
int i = 2;//从第二个开始循环
float sum = 1;//这里默认是1 因为 第一个1/1 不参与循环
int j = 1;
for (i=2;i<=99 ;i++)
{
sum = (float)sum +j*(1.0/i);//这里改成1.0 是为了自动把1/2 1/3等等变成float 否则会是0;
j = -j;
}
System.out.println("sum = "+sum);
}
}
第2个回答  2014-09-16
sum = (float)sum +j*(1/i);
这句改成试试
sum = (float)sum +j*(1f/i);
要不然整数/整数,那叫取整。。。
第3个回答  2014-09-16
思路优点乱,给你写了个,供参考!
包括测试的代码,已经通过测试,望采纳!
public class Test3 {
public static void main(String[] args) {
float sum = 1;
boolean f = false;
for (int i = 2; i <= 99; i++) {
if (i % 2 == 0) {
f = true;

}else{
f=false;
}
if (f == true) {
sum = sum + (float)1 / i;
System.out.println(i);
} else {
sum = sum - (float)1 / i;
System.out.println(i);
System.out.println(sum);
}

}
System.out.println("sum = " + sum);
}

}
第4个回答  2014-09-16
sum = (float)sum +j*(1/i);
把这句改成
sum = (float)sum +j*(1.0/i);

编写一个Java程序,计算并输出算式1-1\/2+1\/3-1\/4+...+1\/99-1\/100 的...
public class T {public static void main(String[] args) {double a = 1.0;\/\/ 接收最后结果double sum = 0.0; \/\/ 循环 i的值从1-100for (int i = 1; i <= 100; i++) {\/\/ 观察算式,分母是偶数时,分数为负if(i%2 == 0)sum += -(a\/i);elsesum += (a\/i);}System...

java编写程序,用for循环100以内-1+1\/2-1\/3+1\/4-……-1\/99+1\/100
for(int i = 1 ; i < = 100 ; i++ ){ if(i % 2 == 0){ sum += 1\/i;}else { sum -= 1\/i;} } 没有编译器,你回去就按这个思路写吧,写一个1-100的循环,如果i和2取模,为0的时候就是+,不为0的时候就是-。然后用 +=。 你写成sum = sum +1\/i. sum = sum-1\/...

java 求1-1\/2+1\/3-1\/4+1\/5-...
for(i=1;i<=n;i++){sum=sum+(float)flag\/i;flag=-flag;} flag是一个符号标记 当为1说明是正数,如果为负说明是负数 (float)flag\/i; 这里相当于 1\/1 -1\/2 1\/3 ...

java中for循环语句1-1\/2+1\/3-1\/4+1\/5-...-1\/100
for(int i=1; i<=100; i++) { sum += sign\/i; sign= -sign; } System.out.println(sum);

用for循环语句计算1+1\/2+1\/3+1\/4~~~+1\/1+n其中n=1,2,
我用java写的 n是你要加到得那个数,我没看清你要加到几分之几 就用n代替了 如果你要加到1/100就把n换成100 class A{ public static voidmain(String args[]){ double b=0;for(int i=1;i<=n;i++){ b+=1\/(double)i;} System.out.println(b);} } ...

在Java中求1+1\/2+1\/3+1\/4+...+1\/99+1\/100等于多少
public class Test1 { public static void main(String[] args) { double f = 0;for(double i = 1;i <= 100;i++){ f = f + 1\/i;} System.out.println(f);}} 结果:

jav编程 求1+1\/2!-1\/3!+1\/4!-………+1\/n! n值由键盘接收。
import java.util.Scanner;public class CountTest { \/ 1+1\/2!-1\/3!+1\/4!-1\/5!...+1\/n!return \/ public static int getCount() { int count = 1;int n;Scanner input = new Scanner(System.in);System.out.println("请输入n值!");n = input.nextInt();for (int i = n; ...

java:用For语句实现 1+1\/2+2\/3+3\/4+...+98\/99+99\/100?
public double sumNumber() { double sum = 0;for (int i = 1 ; i < 100; i++){ sum += i\/(i+1);} return sum;}

用java的for循环编写程序,输出以下数字金字塔,最好带注释。
for(j= 5-n+1; j<=5; j++) { \/\/ 这个循环控制中间数字一直到5的输出,如第一行一个5,第二行为4 5 System.out.print(j);} for(k=4; k>5-n; k--) { \/\/这个循环控制中间数字5之后的数字,如第一行不输出任何,第二行为4 System.out.print(k);} System.out.print("\\n"...

用java写一个嵌套的for循环打印下列图案:1 1 2 1 2 3 1 2 3 4 1 2...
for(int i = 0; i < 5; i++){ for(int j = 0; j < i + 1; j++){ System.out.print(j+1);} } 如果每打完换一行 就是个三角形了

相似回答