说明:为了代码便于阅读俺就把变量命名成它长串的功能描述了,以后在写方法的时候也会采取这样的方式命名,不喜轻pen【笑哭】
代码如下:
import java.util.Scanner;
/**
* 本解法直接从1暴力遍历到n,用字符串自带的indexOf方法直接判断字符串里是否含有某个数字,其中用整数i+空串实现整数i到字符串i的转换
*/
public class F_SumofSpecialNums {
public static void main(String[] args) {
Scanner ToScanInput_Integer = new Scanner(System.in);
int Input_Integer_n = ToScanInput_Integer.nextInt();
int SumOfAllNumbers = 0;
for (int i = 1; i <= Input_Integer_n; i++) { //对于不清楚indexOf的功能的同学可以看下下面的链接
if ((i + "").indexOf("2") != -1 || (i + "").indexOf("0") != -1 || (i + "").indexOf("1") != -1 || (i + "").indexOf("9") != -1) { //判断i含有2或0或1或9
SumOfAllNumbers += i; //所有符合条件的整数i
}
}
System.out.println(SumOfAllNumbers);
}
}