题目很简单,就是用哈希表存,判断有没有重复
学到了:java中字符串的比较有两种:
1.==这种是比较引用,只用两个字符串变量指向同一个地址才相等
2..equals()这种是值的比较,只要两个字符串一样就相等
Set<String> set = new HashSet<>(); String temp = n+""; while (!Objects.equals(temp, "1")) { if (set.contains(temp)) break; set.add(temp); int a = 0; for (char c : temp.toCharArray()) { int cur = c-'0'; a+=cur*cur; } temp = a+""; } if (temp.equals("1")) return true; else return false;