题目很简单,就是用哈希表存,判断有没有重复
学到了: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;