Java 标记一个平方数的代码不起作用,这是为什么?

Java 标记一个平方数的代码不起作用,这是为什么?,java,while-loop,boolean,Java,While Loop,Boolean,我正在尝试学习Java,必须创建一个小脚本,告诉您选择的数字是否为平方数: public class NumberShapes{ public static void main(String[] args) { class Number { int number; public boolean isSquare(){ int y = 1; int squar

我正在尝试学习Java,必须创建一个小脚本,告诉您选择的数字是否为平方数:

public class NumberShapes{
    public static void main(String[] args) {

        class Number {
            int number;

            public boolean isSquare(){
                int y = 1;
                int squareNumber = 1;

                while (squareNumber <= number) {
                    y += 1;
                    squareNumber = (y * y);
                }

                if (squareNumber == number) {
                    return true;
                }
                else {
                    return false;
                }
            }

        }
        Number myNumber = new Number();

        myNumber.number = 9;

        System.out.println("Is " + myNumber.number + " a square number?: " + myNumber.isSquare());

}
}
公共类编号形状{
公共静态void main(字符串[]args){
班号{
整数;
公共布尔isSquare(){
int y=1;
整数平方数=1;

而(平方数问题在于循环的条件:

while (squareNumber <= number) {
    y += 1;
    squareNumber = (y * y);
}
while(平方数)