日期:2014-05-20 浏览次数:20709 次
class Main { public static void main(String[] args) { show(18); } private static void show(int n) { String tmp = ""; for (int i = 1; i <= n; i++) { // int 转 string tmp = String.valueOf(i); // 打印包含1的整数 if (tmp.contains("1")) { System.out.print(i + ", "); } } } }
------解决方案--------------------
contains()
最终最终依靠的是这个函数
static int indexOf(char[] source, int sourceOffset, int sourceCount, char[] target, int targetOffset, int targetCount, int fromIndex) { if (fromIndex >= sourceCount) { return (targetCount == 0 ? sourceCount : -1); } if (fromIndex < 0) { fromIndex = 0; } if (targetCount == 0) { return fromIndex; } char first = target[targetOffset]; int max = sourceOffset + (sourceCount - targetCount); for (int i = sourceOffset + fromIndex; i <= max; i++) { /* Look for first character. */ if (source[i] != first) { while (++i <= max && source[i] != first); } /* Found first character, now look at the rest of v2 */ if (i <= max) { int j = i + 1; int end = j + targetCount - 1; for (int k = targetOffset + 1; j < end && source[j] == target[k]; j++, k++); if (j == end) { /* Found whole string. */ return i - sourceOffset; } } } return -1; }