编写一个Java程序,计算并输出算式1-1/2+1/3-1/4+.......+1/99-1/100 的结果.

如题所述

package zhidao;

public class Calc
{
public static void main ( String[] args )
{
System.out.println (calc (100));
}

private static double calc ( int n )
{
if (n == 1)
{
return 1 / 1.d;
}
else
{
return Math.pow (-1, n - 1) * 1.d / n + calc (n - 1);
}
}
}

追问

谢谢您!请问怎样
定义一个变量sign,每执行一次循环体,使其值在1和-1之间轮流取值来表示出数据的·正负相间问题?

追答

int sign = 1;
while (true)
{
sign = sign == 1 ? -1 : 1;
System.out.println (sign);
}

追问

谢谢您。请问这样子可以怎么修改?

追答

阿呆,2种方法写到一起了,好了,可以采纳我了

package zhidao;
public class Calc
{
public static void main ( String[] args )
{
System.out.println (calc (100));

double sum = 0, n = 1;
while (n < 100)
{
sum += Math.pow (-1, n - 1) * 1.d / n;
++n;
}
System.out.println (sum);
}

private static double calc ( int n )
{
if (n == 1)
{
return 1 / 1.d;
}
else
{
return Math.pow (-1, n - 1) * 1.d / n + calc (n - 1);
}
}
}

温馨提示:答案为网友推荐,仅供参考
相似回答