网站定制首页费用,工作5年体重飙400斤,wordpress设置ssl不成功,法律建设企业网站今天再次做到需要int转化成String#xff0c;从而方便运算的题目。#xff08;当然还可以直接使用int运算也是没问题的#xff09;
再次出现了我容易弄混淆的问题#xff0c;Integer.valueOf和ASCII码转化的差异#xff1f;
其实之前我以及有记录过该问题#xff0c;详…今天再次做到需要int转化成String从而方便运算的题目。当然还可以直接使用int运算也是没问题的
再次出现了我容易弄混淆的问题Integer.valueOf和ASCII码转化的差异
其实之前我以及有记录过该问题详见我的博客
Integer.valueOf()用于字符和字符串的区别_paypayphone的博客-CSDN博客
举个例子
Integer.valueOf(1)得到的是1
而Integer.valueOf(1)得到的是49是他的ASCII码。
这就好比我们可以直接用字符进行加减int add 1 a; 等于他们的ASCII码之和他们其实并没有经历强制转化但是我们没办法将字符串进行加减只能进行拼接
class Solution {boolean result false;public boolean isHappy(int n) {dfs(n,1);return result;}public void dfs(int n, int count) {if(n 1) { result true;return;}if(count 10000) {return;}String s n;int squareSum 0;for(int i0;is.length();i) {squareSum (s.charAt(i)-0)*(s.charAt(i)-0);// squareSum Integer.valueOf(s.charAt(i)) * //Integer.valueOf(s.charAt(i)); //也是一样的效果//前者是通过ASCII码相减转化成int后者是直接将字符串应用于Integer.valueOf}count;dfs(squareSum, count);}
}
然后说回方法本身我的方法是循环到10000次如果得不到1就自动停止递归并且用了比较占内存空间的字符串类型。
其实更应该直接使用int计算squareSum并且充分理解题意从而实现用哈希集合检验是否是无限循环。