所以我真正的问题是,当代码从1到99运行时,如何使此代码识别所有“相似”数字,例如:11,22,33,44,... 在程序识别出它们的同时,它会发送一条消息。
package doodle;
int num2=11;
for (int i=1; i<100; i++) {
System.out.println(i);
int num1=i;
if(num1==num2) {
System.out.println("WOW");
}
}
谢谢
答案 0 :(得分:1)
我会使用字符串
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的情况下有效
答案 1 :(得分:1)
int num2=11;
for (int i=1; i<100; i++) {
if(i%num2==0) { //<---- look alike
System.out.println("WOW");
}
答案 2 :(得分:0)
我会使用String转换和codePoint比较来实现
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
的所有数字都可以处理。