循环判断每个数的平方与他自身的每一位是否相等即可。
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int cnt = 0; for(int i=0;i<=n;i++){ if(check(i)) cnt++; } System.out.print(cnt); } public static boolean check(int a){ boolean one = true; int b = a*a; while(a>0){ if(a%10!=b%10){ one = false; break; } a/=10; b/=10; } return one; } }