我需要帮助弄清楚如何输出1到N之间的偶数(n是用户输入的数字)。
这是我到目前为止所拥有的。
import java.util.*;
public class HelloWorld{
public static void main(String []args){
int n;
int i = 0;
Scanner scan = new Scanner(System.in);
System.out.println("Enter a Number");
n = scan.nextInt();
for(i=1; i<n; i++){
if(i%2==0)
i = i*i;
System.out.println(i);
}
}
}
现在打印出错误的输出。我想知道它如何从4变为16到36。
样本输入:45
预期输出:
4
16
36
我做错了什么?
答案 0 :(得分:2)
您已经在for定义中增加了变量i
,不需要在for块中再次增加。还要从2开始,然后在每个步骤上加2,以实现更有效的实施。
for(i=2; i*i<n; i+=2){
System.out.println(i*i);
}
答案 1 :(得分:1)
首先,不要在for循环中更改i
的值。无需将i
更改为等于i*i
,只需使用语句i*i
打印System.out.println(i*i)
即可;
其次,您还忘记了if语句后的花括号。