for (int i = 0;i <= 200000;i++){ // 如果i != 0;输出0 if (i != 0){ // 把i的平方转成String型(因为String.valueOf()转的是整型,但是参数是这个整型数的平方,此时超过了整型数范围,赋值给字符串值会为0,所以前面值定义为long) a = String.valueOf(i*i); // 截取a尾数并转成整型 b = Integer.valueOf(a.substring(a.length()-weiShu(i))); // 如果i的平方的尾数等于i;就输出i if (b == i){ System.out.println(i); } // 如果i = 0;输出0 }else System.out.println(0); }
时间: 2024-02-14 11:23:20 浏览: 72
这段代码的功能是输出所有平方值的尾数等于其本身的数字,范围在 0 到 200000 之间。具体实现过程为:
1. 从0到200000循环遍历每个数字,存储在变量 i 中。
2. 判断当前数字是否为0,如果不为0则继续执行,否则直接输出0。
3. 将当前数字 i 的平方计算出来,并将其转换成字符串类型,存储在变量 a 中。
4. 通过 weiShu(i) 方法获取当前数字 i 的位数,然后截取字符串 a 的尾数,并将其转换成整型,存储在变量 b 中。
5. 判断当前数字 i 是否等于变量 b 的值,如果相等则输出当前数字 i。
这段代码的实现思路比较简单,主要是通过字符串截取和转换实现了对数字尾数的提取和比较。需要注意的是,在使用 String.valueOf() 方法转换数字时,需要注意数据类型的范围,否则可能会出现数据溢出的情况。
阅读全文