public boolean isHappy(int n) { HashSet<Integer> set = new HashSet<>(); while (n != 1){ int sum = 0; while (n != 0) { sum +=Math.pow(n % 10, 2); n /= 10; } n = sum; //防止无限循环 if (set.contains(n)) { break; } set.add(n); } return n == 1; }