Java 我的循环结束错误,它';超过限制I';我给了

Java 我的循环结束错误,它';超过限制I';我给了,java,Java,我试图解决这个问题:给定整数N,按升序打印所有自然数的平方,不超过N 例如,假设N=50,它打印= 1 4 9 16 25 36 49 所以,它有点工作,但出于某种原因它超过了我的int N。即使条件声明如果N

我试图解决这个问题:给定整数N,按升序打印所有自然数的平方,不超过N

例如,假设N=50,它打印=

1
4
9
16
25
36
49

所以,它有点工作,但出于某种原因它超过了我的int N。即使条件声明如果N您应该做的是,如果条件满足,从循环中断,否则打印值。我已将print语句移到条件下方,重新排列了下面的代码-

if (N < m){
break;
}
System.out.println(m);
if(N
你的逻辑有点不对劲,你想要
b+1哈哈哈,我试了最后一个代码,我很高兴,然后它不起作用,我ohh:C,然后我看到它被编辑了,现在它起作用了,非常感谢:D你救了我。我犯了一个错误,然后编辑掉了:D。很高兴它成功了您好,我仍然不懂数学,但非常感谢您的回答,我稍后再看;),我用另一个答案解决了。嗯<代码>while((b+1)*(b+1)
1
4
9
16
25
36
49
64
if (N < m){
break;
}
System.out.println(m);
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int b = 0;
while (b + 1 <= Math.sqrt(N)) {
    b++;
    System.out.println(b * b);
}