[英]Using Scanner class in java to print X1-X3+X5…n
I was trying to print the following series: X 1 -X 3 +X 5 -X 7 .......X n 我正在尝试打印以下系列:X 1 -X 3 + X 5 -X 7 ....... X n
I have done everything but struck on changing the sign. 我已经做了所有事情,但是改变了标志。
Anybody has idea? 有人有主意吗?
Here is the code: 这是代码:
int n=10;int sum=0;int x=2;
double d=0.00;
for(int i=1;i<=n;i++){
d = Math.pow(x,i);
sum = sum + (int)d;
}
you should do some steps: 您应该执行一些步骤:
use a boolean
and name it as SIGN
使用
boolean
并将其命名为SIGN
sign
was true
use +
sign
是true
使用+
sign
was false
use -
sign
被false
使用-
increase i
in for loop twice ( i+=2
) each time, so values of i
will be 1, 3, 5, ...
增加
i
在for循环两次( i+=2
)各一次,所以值i
将是1, 3, 5, ...
int n=10;int sum=0;int x=2;
double d=0.00;
boolean sign = true;
for(int i=1; i<=n ; i+=2 ){
d=Math.pow(x,i);
sum += ((sign)?(int)d:(-1*(int)d));
sign = !sign;
}
integer
and name it as SIGN
integer
并将其命名为SIGN
int n=10;int sum=0;int x=2;
for (int i = 1, sign = 1; i <= n; i += 2, sign = -sign) {
sum += sign * (int)Math.pow(x, i);
}
you can input parameters by Scanner
and change the sign by Math.pow(-1,n)
. 您可以通过
Scanner
输入参数,并通过Math.pow(-1,n)
更改符号。 code is as follows. 代码如下。
int sum = 0;
Scanner input = new Scanner(System.in);
System.out.println("please enter n:");
int n = input.nextInt();
System.out.println("please enter x:");
int x = input.nextInt();
for(int i = 1; i <= n; i += 2){
sum += (int)Math.pow(-1, (i-1)/2) * Math.pow(x, i);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.