Java 我想写一个代码来回答一个无穷级数,它有交替的加法和减法运算。在我的代码中,我看不到错误
我已经写了下面的for循环,每次执行下面的代码,我得到的最终结果是1 我的代码有什么问题 1-1/2+1/3-1/4+1/5-1/6………直到n个条款Java 我想写一个代码来回答一个无穷级数,它有交替的加法和减法运算。在我的代码中,我看不到错误,java,loops,for-loop,series,Java,Loops,For Loop,Series,我已经写了下面的for循环,每次执行下面的代码,我得到的最终结果是1 我的代码有什么问题 1-1/2+1/3-1/4+1/5-1/6………直到n个条款 package Practice; import java.util.Scanner; public class SeriesHW { public static void main(String[] args) { Scanner input = new Scanner(System.in); Sy
package Practice;
import java.util.Scanner;
public class SeriesHW {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Till what number you want to calculate this series?");
int n=input.nextInt();
int resultone = 0;
for(int i=1;i<=n;i=i+2) {
resultone+=1/i;
}
int resulttwo = 0;
for(int j=2;j<=n;j=j+2) {
resulttwo+=1/j;
}
int finalresult=resultone-resulttwo;
System.out.println("Answer is : " + finalresult);
}
}
包装实践;
导入java.util.Scanner;
公开课系列{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“直到要计算这个系列的数字是多少?”);
int n=input.nextInt();
int resultone=0;
对于(int i=1;i使用BigDecimal
而不是int
,因为当您将int
作为变量或文本引入十进制世界时,Java的自动装箱会带来很多麻烦
注:目前将小数点四舍五入至celing,并将刻度保持在第2行下方
resultone=resultone.add(BigDecimal.ONE.divide(BigDecimal.valueOf(i),2,RoundingMode.天花));
根据您的需要随时更新
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Scanner;
public class SeriesHW {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Till what number you want to calculate this series?");
int n = input.nextInt();
BigDecimal resultone = BigDecimal.ZERO;
for (int i = 1; i <= n; i = i + 2) {
resultone = resultone.add(BigDecimal.ONE.divide(BigDecimal.valueOf(i),2, RoundingMode.CEILING));
}
BigDecimal resulttwo = BigDecimal.ZERO;
for (int j = 2; j <= n; j = j + 2) {
resulttwo = resulttwo.add(BigDecimal.ONE.divide(BigDecimal.valueOf(j),2, RoundingMode.CEILING));
}
BigDecimal finalresult = resultone.subtract(resulttwo) ;
System.out.println("Answer is : " + finalresult);
}
}
为什么你认为代码是错误的预期结果是什么?我认为你的问题是ResultTone和resulttwo的类型。或者应该是浮点或双精度?请不要在你的问题中只使用大写字符。谢谢你的回答…我第一次使用我的网站…你说在哪里不使用大写是什么意思?大写case words的意思是叫喊。请记住这一点…谢谢我认为您使用了错误的数据类型。这里有一条线索:1/i
将为零…因为您将整数除以整数,这将在Java中生成整数。
Till what number you want to calculate this series?
10
Answer is : 0.66