3 回答
TA贡献1895条经验 获得超7个赞
我会使用字符串
for (int i = 11; i < 100; i++) {
StringBuffer orig = new StringBuffer();
String left = orig.append(i).toString();
if (orig.reverse().toString().equals(left)) {
System.out.println(left);
}
}
或者如果你真的想使用int带有片状逻辑的
int start = 11;
for (int i = 11; i < 100; i++) {
if (i == start) {
System.out.println(start);
start += 11;
}
}
编辑
正如@mark 正确指出的那样,这些解决方案仅适用于范围高达 100
TA贡献1829条经验 获得超4个赞
int num2=11;
for (int i=1; i<100; i++) {
if(i%num2==0) { //<---- look alike
System.out.println("WOW");
}
TA贡献1808条经验 获得超4个赞
我会使用字符串转换和代码点比较来做到这一点
for (Integer number = 0; number < 1000; number++) {
System.out.println(number);
String stringnumber = String.valueOf(number);
if (stringnumber.length() > 1 && stringnumber.codePoints().allMatch((digit) -> digit == stringnumber.codePointAt(0))) {
System.out.println("WOW");
}
}
需要长度检查 (length() > 0) 来排除所有只有一位数字的数字,否则,程序也会打印"WOW"所有数字0 - 9。
从0到的所有数字Integer.MAX_VALUE都可以处理。
添加回答
举报